首页 > 解决方案 > 在 MongoDB 嵌套数组中查找空值或零值

问题描述

假设我的 mongo 集合名为 my_collection。my_collection 中一条记录的示例如下所示:

{ 
   "_id" : ObjectId("1"),
   "field1" : "blah",
   "field2" : {
      "1" : "28",
      "2" : null,
      "3" : "0"
      }
}

某些记录在“field2”中可能具有空值或零值,而其他记录可能没有。

我需要找到一条记录,其中“field2”中的键是任何值(“1”-随便),并且该键的值是空值或等于零。

如何使用 findOne 编写语句来做到这一点?

标签: mongodbmongodb-query

解决方案


MongoDB 的 findOne可以使用嵌套对象和数组。

db.collection.findOne({
    field2: {
        2: null
    }
})

db.collection.findOne({
    fields: [
        {
            2: null
        }
    ]
})

推荐阅读