13

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

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

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

in mongoose如何populate()使其比 MongoDB 更强大$lookup

mongoose 不是一个可以帮助 nodejs 用户使用 mongodb 的工具吗?如果是这样,mongoose 怎么能拥有 MongoDB 没有的功能呢?喜欢populate()

mongoose 的方法是在幕后populate()使用 MongoDB 的吗?$lookup

4

1 回答 1

8

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

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

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

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

于 2020-06-24T15:32:58.220 回答