您好,我想按查询排除某些字段。我正在使用nodejs
public async getDoc() {
return new Promise((resolve, reject) => {
this.database.collection('users').find({email: "value3"}, {password: 0}).toArray((err, result) => {
if(err) {
reject(err)
}
resolve(result);
});
})
}
但是在结果集中,我一直在获取密码字段。
答案 0 :(得分:2)
投影无法与新的nodejs mongodb驱动程序配合使用...相反,您将不得不在此处使用.project()
游标方法
this.database.collection('users')
.find({ "email": "value3" })
.project({ "password": 0 })
.toArray();
答案 1 :(得分:1)
使用 fields 对象作为find方法中的第二个参数,该对象中要获取独占密码的所有字段。
这样做:
find({email: "value3"}, {fields: {all_other_fields...: 1}})
您也可以尝试 {fields:{password:0}} ,但是我自己没有尝试过,这就是为什么我不确定它是否可以工作的原因。