【问题标题】:Can you perform multiple nested populates in mongoose?您可以在猫鼬中执行多个嵌套填充吗?
【发布时间】:2017-03-11 13:10:50
【问题描述】:

所以,我正在构建一个应用程序,它有一个餐厅模型,餐厅有评论。评论有一个我这样填充的用户(coffeescript):

exports.listOne = (req, res) ->
  Restuarant.findOne 
    _id: req.params.id
  .populate({ path: 'reviews' })
  .exec (err, docs) ->
    options = 
      path: 'reviews.userId'
      model: 'User'
    if err
      return res.json(500)
    Venue.populate docs, options, (err, venues) ->
      res.json venues
      return
    return

问题是用户引用了我也想填充的酒店模型,我可以在此查询中填充酒店吗?

【问题讨论】:

    标签: node.js mongoose coffeescript populate mongoose-populate


    【解决方案1】:

    Mongoose 现在支持深度人口,应该可以解决您的问题。您应该能够将这样的内容传递给您的填充(很难在没有看到模型的情况下准确地说出来):

    .populate({
        path: 'reviews',
        model: 'Review',
        populate: {
          path: 'user',
          model: 'User',
          populate: {
            path: 'hotel',
            model: 'Hotel'
          }
        }
      })...
    

    这是一篇关于人口的好文章,可能会有所帮助:http://frontendcollisionblog.com/mongodb/2016/01/24/mongoose-populate.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-25
      • 2015-11-24
      • 1970-01-01
      • 2015-02-09
      • 2021-11-07
      • 2014-07-28
      • 2019-01-16
      相关资源
      最近更新 更多