MongoDB $lookup 与 Mongoose 填充

Yul*_*ale 9 mongoose mongodb node.js mongoose-populate mongodb-lookup

我见过这个和其他类似标题的问题,没有人回答我的问题。

我正在阅读我阅读的猫鼬文档

MongoDB 在 >= 3.2 版本中具有类似连接的 $lookup 聚合运算符。Mongoose 有一个更强大的替代方法,称为 populate(),它允许您引用其他集合中的文档。

populate()猫鼬如何工作使其比 MongoDB 更强大$lookup

mongoose 不是帮助 nodejs 用户使用 mongodb 的工具。如果是这样,猫鼬如何拥有 MongoDB 没有的功能?喜欢populate()

猫鼬的populate()方法是否$lookup在幕后使用了MongoDB ?

Yul*_*ale 6

感谢Grégory NEUT在问题评论中共享的github 线程,我已经能够确定某些事实:

  1. Mongoose 的 populate() 方法在幕后没有使用 MongoDB 的 $lookup。它只是对数据库进行另一个查询。
  2. Mongoose 没有 MongoDB 没有的功能。populate()只需进行两个或更多查询。

猫鼬中的 populate() 如何使其比 MongoDB 的 $lookup 更强大?

在我看来,有一些地方使用populate()和他人使用$lookup。对于$lookup聚合管道中更复杂的查询,效果最好。