#javascript #mongoose #mongoose-schema #mongoose-populate
#javascript #мангуст #mongoose-схема #mongoose-заполнить
Вопрос:
У меня есть пользовательская модель:
const userSchema = new Schema({
username: String,
email: String,
_id: generated
})
и модель проекта:
const projectSchema = new Schema({
owner: { type: Schema.Types.ObjectId, ref: 'User' },
name: String,
_id: generated
})
Я использую запрос для получения всех проектов и хотел бы затем заполнить поле «владелец» каждого проекта соответствующим пользователем (или, что еще лучше, их именем пользователя)
Project.find()
.populate('owner')
.then((allProjects) => {
console.log(allProjects);
res.status(200).json(allProjects);
})
Ответ от find(), как видно из console.log(), представляет собой массив объектов, на которые заполнение, похоже, не оказало никакого влияния:
[{
_id: 4kal5mah5lam6la2lam40am3,
owner: 28eqo29roqi5lqmdka91ma01,
name: Project1
},
{
_id: 0akm40am593na7n4fnau25a,
owner: 85jan5l60oq23la1p07d8q2,
name: Project2
}]
Я много чего перепробовал с помощью вызова populate и его параметра, но безрезультатно. Код выполняется, просто поле не заполняется. Есть идеи?
Большое спасибо!