MongoDB-如何在嵌套的对象数组中查找空值
如果我有这样的文档:MongoDB-如何在嵌套的对象数组中查找空值,mongodb,Mongodb,如果我有这样的文档: { "items": [ { "key": null } ] }, { "items": [ { "key": 2 } ] } ] 。。。如何找到“key”设置为null的文档 这是我一直在尝试的查询,但我不明白为什么它会同时返回两个文档: db.collection.find({ "items.0.key": { $eq: null
{
"items": [
{
"key": null
}
]
},
{
"items": [
{
"key": 2
}
]
}
]
。。。如何找到“key”设置为null的文档
这是我一直在尝试的查询,但我不明白为什么它会同时返回两个文档:
db.collection.find({
"items.0.key": {
$eq: null
}
})
null
不仅匹配自身,还匹配“不存在”。因此,查询值为null
的键将返回所有文档
解决方法:我们需要使用运算符执行查询
db.collection.find({
"items.0.key": {
$type: 10
}
})
这是可行的,但我应该解释一下,只有当items数组只包含一个对象时,我才查找此文档。@CharlesJohnson更新了我的答案,请再次检查