我的用户架构是,
{
_id: String,
name: String,
status: {type: String, "default": "notverified" }
}
在我的mongoose查询中,我需要从结果中排除status
字段。
我的模型查询就像,
User.find({}, {status: false}, function(err, users) {
// process the error
if (err) console.error(err);
// process the result
console.log(users);
});
在上面的查询中,我排除了status
,但在结果中我得到了具有在架构中定义的默认值的文档。即status: "notverified"
尽管Mongoose存在问题,但为了快速解决问题,我尝试了How to exclude some fields from the document中提到的方法。
但它不起作用,因为查询返回单个文档,因此toObject()
将起作用,但我想从没有toObject()
方法的文档数组中排除。
任何其他可行的解决方案(在将其标记为重复之前)?
答案 0 :(得分:2)
你滥用了Mongoose的预测:
User.find({}, {status: 0}, function(err, users) {
// process the error
if (err) console.error(err);
// process the result
console.log(users);
});