如何在 mongoosejs 中深度填充多个路径?
How can I deep populate multiple paths in mongoosejs?
是否可以使用猫鼬同时填充多个路径?我正在尝试做这样的事情:
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'
}
}
})
但是我的评论中没有填充用户。
阅读 mongoose docs 中有关深度填充的更多信息。
是的,它确实有效。我已经用过很多次了。这是一个例子:
Model.find()
.populate({
path: 'replies',
populate: [{
path: 'user',
select: 'displayName username'
}, {
path: 'replies',
populate: {
path: 'user',
select: 'displayName username'
}
}]
}).exec(...
是否可以使用猫鼬同时填充多个路径?我正在尝试做这样的事情:
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'
}
}
})
但是我的评论中没有填充用户。
阅读 mongoose docs 中有关深度填充的更多信息。
是的,它确实有效。我已经用过很多次了。这是一个例子:
Model.find()
.populate({
path: 'replies',
populate: [{
path: 'user',
select: 'displayName username'
}, {
path: 'replies',
populate: {
path: 'user',
select: 'displayName username'
}
}]
}).exec(...