我正在使用select
运行mongoose
查询。在模型的模式中,它被设置为排除两个字段,例如:
contents: {
type: String
select: false
},
password: {
type: String
select: false
}
但是,当我想在一个查询查询中包含这些字段时,例如:
App.findById(_appId)
.exec(err, result){ ... }
不添加列出模型中每个字段的.select
语句。我该怎么做?
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您在字段上指定了select:false,则无法在查询中明确覆盖此行为:
.select('contents password')...
如果您不想要此行为,请删除select:false。如果您想保留行为,但发现自己重复进行查询,请考虑模型上的静态方法。
schema.statics.materialize = function (appId, cb) {
return this.findById(appId).select('contents password').
exec(cb);
};