mongodb搜索子文档,或*通配符

时间:2016-03-29 06:20:03

标签: json mongodb mongodb-query jsonpath

例如,我收集了这样的文件:

{
  "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中最有效的方法是什么?

0 个答案:

没有答案