В настоящее время я работаю над 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));
});