例如,我收集了这样的文件:
{
"b" : {
"c" : [
{
"d" : "e"
}
]
},
"f" : {
"c" : []
},
"j" : {
"c" : []
},
"h" : {
"c" : [
{
"d" : "y"
},
{
"d" : "z"
}
]
}
}
这是一份文件。每个文档包含多个具有不同名称的子元素(在此示例中为b,f,j,h)和其中的数组。
如何查找包含d = z的所有文档?
我可以写这样的查询:
{ "b.c.d": "z"}
它将找到所有文件,其中包含d = z" b"元素。但我想在所有根元素中搜索d = z(本文档中的b,f,j,h,另一个文档具有相同结构的另一个根元素)。
有没有办法以某种方式搜索:
{ "*.c.d": "z"} ?
我可以使用"其中" clase,但它非常昂贵。在mongo中最有效的方法是什么?