如何在mongoosejs中深度填充多个路径?

如何在mongoosejs中深度填充多个路径?,mongoose,mongoose-populate,Mongoose,Mongoose Populate,是否可以使用mongoose同时填充多条路径?我正在尝试这样做: User.findById(_id) .populate({ path:'friendIds', model:'User', populate: { path: 'reviewIds', model: 'Review', populate: [{ path: 'userId', model: 'User' }, {

是否可以使用mongoose同时填充多条路径?我正在尝试这样做:

User.findById(_id)
  .populate({
    path:'friendIds',
    model:'User',
    populate: {
      path: 'reviewIds',
      model: 'Review',
      populate: [{
        path: 'userId',
        model: 'User'
      }, {
        path: 'locationId',
        model: 'Location'
      }]
    }
  })
User.findById(_id)
  .populate({
    path:'friendIds',
    model:'User',
    populate: {
      path: 'reviewIds',
      model: 'Review',
      populate: {
        path: 'locationId',
        model: 'Location'
      }
    }
  })
其中用户有朋友,他们是用户,他们有书面评论,有作者(用户)和位置。我正在尝试深入填充所有这些信息。以上是我最近的一次尝试,但没有成功。有办法做到这一点吗

作为参考,如果我不想填充多个路径,它的工作原理如下:

User.findById(_id)
  .populate({
    path:'friendIds',
    model:'User',
    populate: {
      path: 'reviewIds',
      model: 'Review',
      populate: [{
        path: 'userId',
        model: 'User'
      }, {
        path: 'locationId',
        model: 'Location'
      }]
    }
  })
User.findById(_id)
  .populate({
    path:'friendIds',
    model:'User',
    populate: {
      path: 'reviewIds',
      model: 'Review',
      populate: {
        path: 'locationId',
        model: 'Location'
      }
    }
  })
但是,我的评论没有向用户填充它们


在中阅读有关深层填充的更多信息。

是的,它确实有效。我已经用过很多次了。下面是一个例子:

Model.find()
.populate({
    path: 'replies',
    populate: [{
      path: 'user',
      select: 'displayName username'
    }, {
      path: 'replies',
      populate: {
        path: 'user',
        select: 'displayName username'
      }
    }]
}).exec(...