mongoose의 virtuals는 데이터 모델의 정의된 필드가 아니지만,
모델 인스턴승서 접근할 수 있는 가상 속성이다. 실제로 mongoose 스키마에 추가로 정의되며,
실제 데이터베이스에는 저장이 되지 않고 동적으로 계산된다. 가상 속성은 필드 값을 변환하거나
여러 필드를 결합하는 등의 작업에 사용될 수 있다고 한다.
virtual() 메서드를 사용하여 쉽게 가상 속성을 만들어볼 수 있다.
const mongoose = require('mongoose');
// user스키마 정의
const userSchema = new mongoose.Schema({
firstName: String,
lastName: String
});
// 가상 속성 fullName 정의
userSchema.virtual('fullName').get(function() {
return this.firstName + ' ' + this.lastName;
});
const User = mongoose.model('User', userSchema);