关于mongoose中使用 virtual 属性的问题
按着官网的例子写:
var PersonSchema = new Schema({
name: {
first: String,
last: String
},
state: Number,
tel: String,
statename: { type: String, default: '' }
});
PersonSchema.virtual('name.full').get(function() {
return this.name.first + ' ' + this.name.last;
});
PersonSchema.virtual('state_name').get(function() {
return _.result(_.find(dict.state, { 'value': this.state }), 'name');
});
但是如果把第二个虚拟属性state_name改为state.name就会提示 PersonSchema.virtual(…).get is not a function 如果像 name 一样是一个{} 类型就可以使用. 如果是单一String number等类型使用.就会报错。
还有一个问题: 就是使用
Person.find().select('name state +stateName')
按官网说是可以增加一个属性 stateName 的,可以是怎样也无法查看