Я хочу заполнить объект виртуальным полем с помощью mongoose в качестве объекта JSON, но он всегда возвращает массив с одним элементом.
Вот мой код схемы (часть с виртуальным полем):
Order.virtual('client', {
type: 'ObjectId',
ref: 'User',
localField: 'clientId',
foreignField: '_id'
});
Вот как я делаю заполнение:
Order.findOneAndUpdate({ internalStatus: 2}, { internalStatus: 3 })
.lean()
.populate({ path: 'client', select: 'email' })
.exec(function (err, order) {
//...
});
Вот что я получаю в возвращенном JSON:
{ _id: 5ad903d90443fe13b8c9061a,
client: [ { _id: 5b3755fe69635d1e942d00a8, email: 'user@user.com' } ] }
Вот чего я хочу добиться:
{ _id: 5ad903d90443fe13b8c9061a,
client: { _id: 5b3755fe69635d1e942d00a8, email: 'user@user.com' } }
Спасибо за любую помощь или предложения!