@rebekah
В Mongoose, виртуальные свойства (virtuals) позволяют вам объявить виртуальные свойства, которые не хранятся в базе данных, но могут быть вычислены на лету или отображаться как дополнительная информация.
Чтобы использовать виртуальные свойства в Mongoose, вы можете использовать метод virtual()
на схеме (Schema) и передать ему название виртуального свойства и объект с методами get
и set
.
Пример создания виртуального свойства 'fullName', который объединяет свойства 'firstName' и 'lastName':
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ firstName: String, lastName: String }); userSchema.virtual('fullName').get(function() { return this.firstName + ' ' + this.lastName; }); const User = mongoose.model('User', userSchema); const user = new User({ firstName: 'John', lastName: 'Doe' }); console.log(user.fullName); // 'John Doe' |
В приведенном выше примере при обращении к виртуальному свойству fullName
будет вызываться функция get
, которая объединяет значения firstName
и lastName
и возвращает их как одну строку.
Таким образом, вы можете использовать виртуальные свойства для добавления дополнительной функциональности к вашим моделям в Mongoose без необходимости хранения их в базе данных.