我看到了这个和其他类似的问题,但没有解答我的问题。
我在阅读mongoose文档时发现:
MongoDB版本>=3.2中有类似连接的$lookup聚合操作符。Mongoose则提供了一个更强大的替代工具,称为populate(),可以让您引用其他集合中的文档。
populate()
在mongoose中是如何工作的?它相比MongoDB的$lookup
更强大在哪里呢?
mongoose不是帮助nodejs用户与mongodb一起使用的工具吗?如果是这样,mongoose怎么会拥有MongoDB没有的功能,例如populate()
呢?
mongoose的populate()
方法是否在幕后使用MongoDB的$lookup
呢?
populate()
方法不是在后台使用MongoDB的$lookup
。 我也已经明白,populate方法会进行多次数据库查询以填充数据。我还看到,在获取文档数组时,populate()
速度更快。但是为什么有人想要populate()
使用$lookup
呢? - YulePale.populate()
语法而不是$aggregation
。如果您需要$lookup
性能,则必须在此时使用$aggregation
。此外,如果mongoose使用mongodb中可用的内容而不是执行自己的“框架”函数,那么会更好。 - Orelsanpls