Как я могу заполнить массив объектов в mon goose? - PullRequest
0 голосов
/ 07 августа 2020

Моя схема выглядит так:

const mock =  new Schema({
   category:...,
   name:....,
   doneBy: [{
       type:mongoose.Schema.Types.ObjectId,
       ref: 'User'
   }]
})

Запрос: свойство doneBy представляет собой массив конкретных пользователей, выполнивших задачу. Когда я console.log, он печатает только идентификаторы как «doneBy: [id1, id2, id3 ......]». Теперь я хочу заполнить эти идентификаторы, чтобы получить информацию о конкретном пользователе. Поделитесь, пожалуйста, методом.

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете заполнить его в своем запросе следующим образом:

mock.find({...}).populate('doneBy')

Если вы хотите заполнить пользователей, но выбрать только определенные поля (например, имя пользователя):

mock.find({...}).populate({ path: 'doneBy', select: { username: 1 } }) // _id will also be returned by default
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...