Как добавить виртуальное поле после запроса другой модели - PullRequest
0 голосов
/ 05 мая 2018

Я хочу, чтобы поле commentCount отображалось при каждом обращении к модели изображения. Вот код:

imageSchema
  .virtual('commentCount')
  .get(async function () {
    const image_id = this._id;
    const commentCount = await Comment.count({ image_id }); 
    return commentCount;
  });

В конечном выводе для изображения я получаю:

{ uploaded: 2018-05-04T09:24:46.063Z,
    _id: 5aec26ed56d4491ef4b3d15a,
    title: 'Another snake',
    description: 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Exercitationem ipsa autem culpa ea enim itaque, illo inventore obcaecati commodi minus?',
    photo: '4a0831c2-f8d0-459d-ab06-794ee26c6c87.jpeg',
    __v: 0,
    commentCount: Promise { <pending> },
    id: '5aec26ed56d4491ef4b3d15a' } ]

commentCount - обещание, даже после того, как я жду Обещания. Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 05 мая 2018

Пожалуйста, попробуйте это при создании самой схемы:

var imageSchema= new Schema({
        commentCount : {type: mongoose.Schema.Types.count, ref: 'Comment'},
        pid: String,
        oFile: String
});
...