如何在mongodb中嵌套填充?

时间:2018-09-26 07:42:46

标签: node.js mongodb mongoose

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

在这里,我从评论模型填充评论,然后从评论模型填充'commentedBy'。最后一个填充不起作用。我收到{commentedBy:空,...}

1 个答案:

答案 0 :(得分:1)

对代码进行了一些更改。如果您的情况comments位于commentedBy内部,那么首先填充comments,然后填充commentedBy

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