我正在使用select:false
来阻止显示大量嵌套数据。
var Revision = {
Timestamp : { type : Date, default: Date.now },
};
var Article = new Schema({
Title: { type: String, required: true },
Revisions: {type: [Revision], select:false}
},schemaOptions);
我想使用虚拟属性来展示它的一小部分。
Article
.virtual('LastRevision')
.get(function(){
var revs = this.Revisions; //undefined unless select:false is commented out
if ( revs && revs.length>0) {
return revs[revs.length-1];
}
});
有没有办法从虚拟属性getter中使用select:false
访问该字段?
答案 0 :(得分:1)
目前,只有在您进行查询时强行选择select: false
字段,才能访问Article.findById(articleId, '+Revisions');
字段:
lean: true
注意:不要将Format-*
用于您也想要虚拟的查询(这可能会帮助一些人来到这里)。
this github issue中的更多信息/更新。