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

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

【问题讨论】:

    标签: mongoose mean-stack mongoose-populate


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2015-07-13
      • 2016-10-10
      • 2019-09-16
      • 2020-07-25
      • 1970-01-01
      • 2015-07-13
      • 2020-01-17
      • 2021-05-03
      相关资源
      最近更新 更多