Does Mongo 3.2's Join make denormalization obsolete?


#1

I’m at the beginning of a new Meteor project, and I’m wondering if the newly available join feature that Mongo gained in 3.2 (and now also available in Meteor 1.4.1) makes it generally more practical to not denormalize data across collections, so that we don’t need to have redundant data.

Are there any arguments against normalizing data and just joining subscriptions together when needed?

Should normalization together with join be considered the best approach for future Meteor & Mongo DB projects ?


#2

$lookup only offers the equivalent of a left outer join (and within the context of the aggregation pipeline only. In my opinion, it’s a useful addition to MongoDB, but is not a replacement for SQL joins - at least not to the extent that it makes denormalization redundant.


#3

It’s also not reactive, as far as I know.


#4

Well, it’s part of the aggregation pipeline. You should be able to use it reactively with jcbernack:reactive-aggregate.


#5

Mh… that’s peculiar. As 3.2 is officially build into Meteor, I would except the join operation to be reactive as well.
Does anyone know for sure?


#6

Yes, I know for sure :slight_smile: