猫鼬填充 - 何时

Posted

技术标签:

【中文标题】猫鼬填充 - 何时【英文标题】:Mongoose populate - when 【发布时间】:2018-06-01 14:05:14 【问题描述】:

我想用作者姓名填充帖子。我创建了带有参考和路线的模型。我应该什么时候填充帖子,在保存新帖子之前或以后,它实际上是如何工作的?

【问题讨论】:

【参考方案1】:

Population 用于查询将一个文档中存储的 id 替换为另一个集合中的相应文档。

您需要将作者文档的 _id 保存在您的帖子文档中:

var post = new Post(
  ...
  author: // id of author doc
  ...
)

post.save()

然后,您将在检索文档时使用 populate 以将存储的作者 ID 替换为作者文档本身:

Post
  .find()
  .populate('author')
  .exec(function (err, posts) 
    if (err) 
      // Handle error
    

    // Handle results
    posts.forEach(post => 
      // Assuming author documents have a 'name' property
      console.log(post.author.name)
    )
  )

这也可能有帮助: http://mongoosejs.com/docs/populate.html

【讨论】:

以上是关于猫鼬填充 - 何时的主要内容,如果未能解决你的问题,请参考以下文章

猫鼬填充未填充必填字段

猫鼬填充功能不填充

为啥需要猫鼬填充?

尽管路径被填充,猫鼬填充()返回未定义

填充猫鼬后查找

猫鼬填充如何在同一对象而不是子文档中填充文档