I have seen this and other similar titled questions, none answer my question.
I was going through the mongoose documentation where I read
MongoDB has the join-like $lookup aggregation operator in versions >= 3.2. Mongoose has a more powerful alternative called populate(), which lets you reference documents in other collections.
How does populate()
in mongoose work that makes it more powerful than MongoDB's $lookup
?
Isn't mongoose a tool that helps nodejs users work with mongodb. If so how can mongoose have functionalities that MongoDB does not? Like populate()
?
Does mongoose's populate()
method use MongoDB's $lookup
behind the scenes?
populate()
method does not use MongoDB's$lookup
behind the scenes. And I have understood that the populate method does several trips to the DB to populate. I have also seen that in getting an array of docspopulate()
is faster. But why do people wantpopulate()
to use$lookup
? – Ascariasis.populate()
syntax over$aggregation
. If you needs$lookup
performance, then you must use$aggregation
at this moment. Also it would be better if mongoose use what's available in mongodb instead of doing it's own "framework" function. – Tittletattle