Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何排除“中的字段?”;查询「;查找(查询、投影)_Mongodb - Fatal编程技术网

Mongodb 如何排除“中的字段?”;查询「;查找(查询、投影)

Mongodb 如何排除“中的字段?”;查询「;查找(查询、投影),mongodb,Mongodb,假设我有一个Mongo查询 var query = { age: 20, gender: 'male' } Students.find(query); 现在我想排除查询中的“性别”字段,这意味着它应该返回所有20岁的学生,而不关心性别。我必须创建一个没有“性别”的新查询对象吗?我能把“性别”的值改成这样吗 var query = { age: 20, gender: "all_value" } 忽视性别 提前谢谢。也许你可以这样做: genderList = ['m'

假设我有一个Mongo查询

var query = {
   age: 20,
   gender: 'male'
}
Students.find(query);
现在我想排除查询中的“性别”字段,这意味着它应该返回所有20岁的学生,而不关心性别。我必须创建一个没有“性别”的新查询对象吗?我能把“性别”的值改成这样吗

var query = {
   age: 20,
   gender: "all_value"
}
忽视性别


提前谢谢。

也许你可以这样做:

genderList = ['m']
// genderList = ['m', 'f', 'a', 'b', ....]
var query = {
   age: 20,
   gender: {$in: genderList}
}
Students.find(query);
将性别转换为列表,如果未指定,则使用所有允许选项的完整列表

或者,如果未指定性别,则将其设置为
{$exists:true}

var query = {
   age: 20,
   gender: {$exists: true}
}
Students.find(query);

只需将您的查询更改为var
query={age:20}
@felix您误解了这个问题。他问的是如何从结果集中删除字段
gender
,而不是如何根据它进行过滤