Я искал высоко и низко, но не могу понять, как сформировать следующий запрос заселить, первый здесь мои модели:Mongoose заполнить несколько вложенных документов
const CourseSchema = new Schema({
classes: [{ type: Schema.Types.ObjectId, ref: 'Classroom' }]
});
const ClassSchema = new Schema({
location: { type: mongoose.Schema.Types.ObjectId, ref: 'Location' },
instructors: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }],
});
У меня есть конечная точка, которая получает один конечно, но я хочу заполнить поле classes
И поля location
и instructors
в classes
. Прямо сейчас, я могу либо заполнить поле инструкторов в classes
, либо location
, но я не могу одновременно заполнить их оба. Это то, что я имею сейчас:
Course
.findById(req.params.courseId)
.populate({
path: 'classes',
populate: {
path: 'instructors',
model: 'User'
}
})
Как можно также заполнить location
поле в classes
?
Спасибо.
использовать этот плагин https://www.npmjs.com/package/mongoose-deep-populate – styopdev
Интересно, если это работает: '.populate ({путь: 'классы', заполнить: { путь: «место инструкторов»}}) '. – robertklep
@robertklep, я проверяю ваш код, только «location» заполняется правильно. однако, «инструкторы» пустые, они не заполнены ... – zangw