Mongodb 检查数组中是否存在字段
考虑一个名为“scheme”的集合,其中包含以下文档。如何查询预付费数组中至少包含元素且包含“a”的所有方案?这里第一个集合满足条件,因为dataArray[0]具有“a”。第二个集合没有。因此,我希望通过查询只查找这样的集合—整个dataArray的一个元素中包含“a”Mongodb 检查数组中是否存在字段,mongodb,aggregation-framework,Mongodb,Aggregation Framework,考虑一个名为“scheme”的集合,其中包含以下文档。如何查询预付费数组中至少包含元素且包含“a”的所有方案?这里第一个集合满足条件,因为dataArray[0]具有“a”。第二个集合没有。因此,我希望通过查询只查找这样的集合—整个dataArray的一个元素中包含“a” { "plan":{ "dataArray" : [ { "a" : "x", "b
{
"plan":{
"dataArray" : [
{
"a" : "x",
"b" : "y",
"c" : "z"
},
{
"b" : "x",
"c" : "z"
}
],
}
}
{
"plan":{
"dataArray" : [
{
"b" : "y",
"c" : "z"
},
{
"b" : "x",
"c" : "z"
}
],
}
}
可以在此处使用运算符检查数组中是否存在该属性
db.collection.find({
"plan.dataArray.a": {
$exists: true
}
})
输出
[
{
"plan": {
"dataArray": [
{
"a": "x",
"b": "y",
"c": "z"
},
{
"b": "x",
"c": "z"
}
]
}
}
]