1.find 指定返回的键
_id字段默认会显示,除非指定不显示
执行:db.rule.find({ "ruleType" : "2" }, { "ruleContent" : 1 });
查询结果为:{
"_id" : "4wJ6Z7sGTgCXTIbwm184OA",
"ruleContent" : "test"
}
去掉_id字段
db.rule.find({ "ruleType" : "2" }, { "ruleContent" : 1, "_id" : 0 });
查询结果为:{
"ruleContent" : "test"
}
执行:db.rule.find({ "ruleType" : "2" }, { "_id" : 1, "alarmLevel" : 0 });
结果为:空
db.rule.find({ "ruleType" : "2" }, { "_id" : 1, "alarmLevel" : 1 });
{
"_id" : "4wJ6Z7sGTgCXTIbwm184OA",
"alarmLevel" : "WARNING"
}
db.rule.find({ "ruleType" : "2" }, { "alarmLevel" : 0 });
结果为:除alarmLevel字段之外的所有字段值
_id和另外的字段组合查询,需要特别注意!!!!!
总结:当_id为0或false,另外一个字段A为1或true时,只显示A
字段A为0或false时,显示除这两个之外的字段
当_id为1或true,另外一个字段A为1或true时,显示_id和字段A
字段A为0或false,结果为空
当指定的字段,一个是0或false,一个是1或true,返回结果为空
其他情况按正常逻辑