如何在mongoosejs中深度填充多个路径?
是否可以使用mongoose同时填充多条路径?我正在尝试这样做:如何在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' }, {
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(...