У меня есть проблема в проекте mongoose.
Я пытаюсь заполнить и использовать геттер, но не все данные
Но теперь все виртуалы появляются в документе.
Я использую mongoose.Schema
и mongoose.Model
Вот пример моего тестового кода
const GroupsSchema = schema({
title: String,
users: [{
type: schema.Types.ObjectId,
ref: 'Users'
}]
});
const UsersSchema = schema({
name: String,
avatar: String
}, {
toJSON: {
virtuals: true
}
});
class Users extends Model {
get name() {
return {
name: this.name
};
}
get avatar() {
return {
avatar: this.avatar
};
}
}
Заполнение документа
const groups = await Groups.find({}).populate('users').exec();
Мой текущий результат:
[
{
"_id": "5c9bb51626924f0a08aa8c3d",
"title": "GroupName"
"users": [
{
"_id": "5c8e37169fc1f9000f8c333b",
"name": "Jack",
"avatar": "avatar.jpg",
"name": {
"name": "Jack",
},
"avatar": {
"avatar": "avatar.jpg"
}
}
]
}
]
Как заполнить документ содержимым только name
getter?
Желаемый результат:
[
{
"_id": "5c9bb51626924f0a08aa8c3d",
"title": "GroupName"
"users": [
{
"name": "Jack"
}
]
}
]