我有以下架构。
var ItemSchema = new Schema({
name : String
,location: {
address: { type: String, default:''},
geolocation: {longitude: Number, latitude:Number},
place : {type: Schema.Types.ObjectId, ref:'Place'}
},
ranking_in_place : Number })
Place 是对具有名称、城市、国家等字段的 Place 模式的引用。
我想为ranking_summary 创建一个虚拟:
ItemSchema.virtual('ranking_summary').get(function() {
if(this.ranking_in_place <= 5){
if(this.ranking_in_place == 1){
return "Most popular item" + " in " + this.location.place.name
}
}
})
我无法获取 this.location.place.name 值,因为 this.location.place 是一个参考,而不是填充。我怎样才能访问这个值?