填充子子文档Mongoose

时间:2019-03-10 14:49:43

标签: mongoose mongoose-schema mongoose-populate

我目前正在为个人/教育项目开发Node.JS后端。搜索一段时间后,我还没有找到以下问题的答案。 “如何填充子文档子文档的子文档”

更清楚地说,我有一个User,其中有Journeys,可能有多个Cities,而那些Cities中有多个Locations米现在,我正在尽可能地填充子文档子文档(请参见下面的代码)。现在我需要更深一层。

也许可以这样问,甚至有可能无限深入地研究文件吗?如果是,该如何完成。

我已经评论了自己为实现这一目标所做的尝试。

 //Profile

router.get('/profile', passport.authenticate('jwt', {session:false}), (req, res, next) => {
    User.findById(req.user._id)
    .populate('journey')
    .populate({
        path: 'journey',
        populate: {path: 'cities',
                   model: 'City'}
                  })
    // .populate({
    //     path: 'cities',
    //     populate: {path: 'locations',
    //                model: 'City_Location'}
    // })                               
    .then(user => {
    res.status(200).json(user);
})
.catch((error) => res.status(401).json(error));
});

我非常感谢!

更新:

问题已解决,答案如下:

 //Profile

router.get('/profile', passport.authenticate('jwt', {session:false}), (req, res, next) => {
    User.findById(req.user._id)
    .populate('journey')
    .populate({
        path: 'journey',
        populate: {
            path: 'cities',
            model: 'City',
            populate: { 
                path: 'locations',
                model: 'City_Location' 
            }
        }
    })                               
    .then(user => {
    res.status(200).json(user);
})
.catch((error) => res.status(401).json(error));
});

0 个答案:

没有答案