Заполнение суб-субдокумента Мангуст - PullRequest
0 голосов
/ 10 марта 2019

В настоящее время я работаю над Node.JS для личного / образовательного проекта.После поисков в течение некоторого времени мне не удалось найти ответ на следующий вопрос.«Как заполнить вложенный документ вложенного документа»

Чтобы было более понятно, у меня есть User с Journeys, который может иметь несколько Cities, а у Cities несколько Locations в мм.Прямо сейчас я добираюсь до заполнения поддокументов вложенных документов (см. Код ниже).Теперь мне нужно пройти на 1 уровень глубже.

Может быть, справедливо спросить, возможно ли даже углубляться в документы?Если да, то как это сделать.

Я прокомментировал свою собственную попытку выполнить это.

 //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));
});
...