mongodb - 在 MongoDB 嵌套数组中查找空值或零值
问题描述
假设我的 mongo 集合名为 my_collection。my_collection 中一条记录的示例如下所示:
{
"_id" : ObjectId("1"),
"field1" : "blah",
"field2" : {
"1" : "28",
"2" : null,
"3" : "0"
}
}
某些记录在“field2”中可能具有空值或零值,而其他记录可能没有。
我需要找到一条记录,其中“field2”中的键是任何值(“1”-随便),并且该键的值是空值或等于零。
如何使用 findOne 编写语句来做到这一点?
解决方案
MongoDB 的 findOne可以使用嵌套对象和数组。
db.collection.findOne({
field2: {
2: null
}
})
和
db.collection.findOne({
fields: [
{
2: null
}
]
})