Node.js 如何在mongodb中进行嵌套填充?

Node.js 如何在mongodb中进行嵌套填充?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这里我从注释模型填充注释,然后从注释模型填充“commentedBy”。最后一次填充不起作用。我得到{commentedBy:Null,…}对您的代码做了一些更改。在您的情况下,注释位于注释者内,因此首先填充注释,然后填充注释者 router.get('/', (req, res) => { Post.find() .populate("author") .populate("comments") .populate("commentedBy") .sort

这里我从注释模型填充注释,然后从注释模型填充“commentedBy”。最后一次填充不起作用。我得到{commentedBy:Null,…}

对您的代码做了一些更改。在您的情况下,
注释
位于
注释者
内,因此首先填充
注释
,然后填充
注释者

router.get('/', (req, res) => {
Post.find()
    .populate("author")
    .populate("comments")
    .populate("commentedBy")
    .sort({date : -1})
    .exec()
    .then(posts => res.json(posts));
});

试试这个
.populate({path:“comments”,populate:{path:“commentedBy”}})
谢谢。如果我想在第二级中填充两个孩子,比如如果我想在第四行中填充评论和评级,它的工作可能与语法重复???
populate({path:'comments',populate:{path:'commentedBy',populate:[{path:'comments'},{path:'ratings'}]})
这就是你要问的吗?
router.get('/', (req, res) => {
Post.find()
    .populate("author")
    .populate({ path: 'comments', populate: { path: 'commentedBy' } })
    .sort({date : -1})
    .exec()
    .then(posts => res.json(posts));
});