我想执行以下查询:
db.mycollection.find(HAS IMAGE URL)
正确的语法应该是什么?
这将返回带有名为“IMAGE URL”键的所有文档,但它们可能仍然具有空值。
db.mycollection.find({"IMAGE URL":{$exists:true}});
这将返回带有名为“IMAGE URL”的键的所有文档and非空值。
db.mycollection.find({"IMAGE URL":{$ne:null}});
另外,根据文档, $exists 目前不能使用索引,但 $ne 可以。
编辑:由于对此答案感兴趣而添加一些示例
鉴于这些插入:
db.test.insert({"num":1, "check":"check value"});
db.test.insert({"num":2, "check":null});
db.test.insert({"num":3});
这将返回所有三个文档:
db.test.find();
这将仅返回第一个和第二个文档:
db.test.find({"check":{$exists:true}});
这将仅返回第一个文档:
db.test.find({"check":{$ne:null}});
这将仅返回第二个和第三个文档:
db.test.find({"check":null})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)