【发布时间】:2020-10-14 21:08:28
【问题描述】:
我见过this 和其他类似标题的问题,没有人回答我的问题。
我正在阅读我阅读的mongoose documentation
MongoDB 在版本中具有类似连接的 $lookup 聚合运算符 >= 3.2. Mongoose 有一个更强大的替代方法,称为 populate(),它可以让您引用其他集合中的文档。
populate() 在 mongoose 中的作用如何使其比 MongoDB 的 $lookup 更强大?
mongoose 不是一个可以帮助 nodejs 用户使用 mongodb 的工具吗?如果是这样,mongoose 怎么能拥有 MongoDB 没有的功能呢?喜欢populate()?
mongoose 的populate() 方法是否在幕后使用了MongoDB 的$lookup?
【问题讨论】:
-
感谢您的链接。我已经阅读了整个线程。现在我知道 mongoose 的
populate()方法并没有在幕后使用 MongoDB 的$lookup。而且我知道填充方法会多次访问数据库进行填充。我还看到,在获取一系列文档时,populate()更快。但是为什么人们希望populate()使用$lookup? -
在底层使用 $lookup 进行填充将允许人们使用
.populate()语法而不是$aggregation。如果您需要$lookup的性能,那么此时您必须使用$aggregation。此外,如果 mongoose 使用 mongodb 中可用的功能而不是使用它自己的“框架”功能会更好。 -
@GrégoryNEUT 我曾就同一主题询问过another similar question。请看一看。谢谢。
标签: node.js mongodb mongoose mongoose-populate mongodb-lookup