检查该字段是否存在于MongoDB中

所以我试图find所有logging谁有一个字段设置,不为空。

我尝试使用$exists ,但根据MongoDB文档,此查询将返回等于null的字段。

$exists确实匹配包含存储空值的字段的文档。

所以我现在假设我将不得不做这样的事情:

 db.collection.find({ "fieldToCheck" : { $exists : true, $not : null } }) 

每当我尝试这个,但是我得到的错误[invalid use of $not]任何人都有一个如何查询这个想法?

使用$ne (对于“不等于”)

 db.collection.find({ "fieldToCheck": { $exists: true, $ne: null } }) 

假设我们有如下集合:

 { "_id":"1234" "open":"Yes" "things":{ "paper":1234 "bottle":"Available" "bottle_count":40 } } 

我们想知道瓶子是否存在?

答:

 db.products.find({"things.bottle":{"$exists":true}}) 

我发现这对我有用

 db.getCollection('collectionName').findOne({"fieldName" : {$ne: null}})