Как заполнить поле во всех объектах массива ответа? - PullRequest
1 голос
/ 10 марта 2019

У меня есть модель пользователя:

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
 }]

Я пробовал много вещей с вызовом заполнения и его параметром, но безрезультатно.Код работает, просто не заполняет поле.Есть идеи?

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

...