ChatGPT解决这个技术问题 Extra ChatGPT

MongoDB:通过不存在的字段查找文档?

有没有办法指定“文档不包含字段”的条件?

例如,我只想找到这两个中的第一个,因为它没有“价格”字段。

{"fruit":"apple", "color":"red"}


{"fruit":"banana", "color":"yellow", "price":"2.00"}
您也可以尝试db.mycollection.find({ "price" : null })

f
fracz

试试 $exists 运算符:

db.mycollection.find({ "price" : { "$exists" : false } })

并参见 its documentation


+1。但是,请记住,此类查询不能使用索引,并且在大型集合上可能会非常慢。
好点——谢谢。我知道这个警告适用于 MongoDB 版本 1.8.x 及之前的版本;但我认为具有 $exists 字段约束的查询现在可以使用 2.0 版中的索引...?