MongoDB:通过不存在的字段查找文档?
Posted
技术标签:
【中文标题】MongoDB:通过不存在的字段查找文档?【英文标题】:MongoDB: Find a document by non-existence of a field? 【发布时间】:2012-01-23 22:41:40 【问题描述】:有没有办法指定“文档不包含字段”的条件?
例如,我只想找到这两个中的第一个,因为它没有“价格”字段。
"fruit":"apple", "color":"red"
"fruit":"banana", "color":"yellow", "price":"2.00"
【问题讨论】:
Mongo: find items that don't have a certain field的可能重复 你也可以试试db.mycollection.find( "price" : null )
【参考方案1】:
试试$exists
运算符:
db.mycollection.find( "price" : "$exists" : false )
看看its documentation。
【讨论】:
+1。但是,请记住,此类查询不能使用索引,并且在大型集合上可能会非常慢。 好点——谢谢。我知道这个警告适用于 MongoDB 版本 1.8.x 及之前的版本;但我认为具有 $exists 字段约束的查询现在可以使用 2.0 版中的索引...?以上是关于MongoDB:通过不存在的字段查找文档?的主要内容,如果未能解决你的问题,请参考以下文章