mongodb查找条件返回值

时间:2014-02-02 16:42:46

标签: mongodb

我可以在mongodb中找到像:

db.user.find({ "show": true}, { firstname: 1, lastname: 1, email:1 })

现在我想更具体一点,让人们隐藏他们的电子邮件地址。 所以我想要的是查询“show”:true然后获取firstname:1,lastname:1 AND(email:1 iff show_email:true)

最糟糕的情况我可以获取所有信息并使用地图函数在后端过滤掉它,但我想知道是否有一个很好的查询方式?

2 个答案:

答案 0 :(得分:1)

投影对象字段的真实性非常重要,所以你可以这样做:

db.user.find({ "show": true }, { firstname: 1, lastname: 1, email: show_email })

答案 1 :(得分:0)

由于你没有指定任何驱动程序规范,我打赌这个,Mongo Shell

if(show_email){
   db.user.find({ "show": true}, { firstname: 1, lastname: 1, email:1 })
}
else{
   db.user.find({ "show": true}, { firstname: 1, lastname: 1})
}