Как заполнить поле во всех объектах ответа массива?

#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 и его параметра, но безрезультатно. Код выполняется, просто поле не заполняется. Есть идеи?

Большое спасибо!