node.js - MongoDB $ lookup vs Mongoose 填充

标签 node.js mongodb mongoose mongoose-populate mongodb-lookup

我见过this和其他类似标题的问题,没有一个回答我的问题。
我正在阅读的mongoose documentation

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.


Mongoose 中的populate()如何工作,使其比MongoDB的$lookup更强大?
不是mongoose的工具,它可以帮助Node.js用户使用mongodb。如果是这样, Mongoose 如何具有MongoDB没有的功能?像populate()吗?
Mongoose 的populate()方法在幕后使用MongoDB的$lookup吗?

最佳答案

多亏github thread在问题的评论中分享了Grégory NEUT,我才能够确定某些事实:

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

  • How does populate() in mongoose work that makes it more powerful than MongoDB's $lookup?


    我认为,有些地方可以使用populate(),而其他地方则可以使用$lookup。对于更复杂的查询,聚合管道中的$lookup效果最佳。

    关于node.js - MongoDB $ lookup vs Mongoose 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62557902/

    相关文章:

    javascript - 如何使用 jsreport 和 jsreport Chrome Pdf 渲染 1k pdf 文件?

    node.js - 如何在 Sequelize.js 中使用数据库连接池

    javascript - 如何在 MongoDB/Node JS 中查找和编辑文档内数组元素的属性?

    node.js - findAndModify MongoDB 在数组开头插入元素

    node.js - 使用nodejs将多个值插入mongodb中的属性

    node.js - typescript 异步生成器,用于套接字

    node.js - 如何配置nginx路由到不同的IP?

    mongodb - 使用吗啡仅选择mongo db中的一列

    javascript - 使用 Javascript 手动插入 ObjectId

    node.js - Mongoose :Query#exec 的目的是什么