MongoDB:查询嵌套数组中的值?

Ale*_*der 3 arrays mongodb

我有这种架构的文件:

{
   ...
  "coverages" : [
    [
      "GB",
      "WC1"
    ],
    [
      "GB",
      "SE2"
    ],
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想找到'coverage'包含一个数组的第二个元素以'WC'开头的所有文档,即coverage与['GB',/ ^ WC /]匹配.

有没有办法用标准的mongodb查询语言?

我想这可以通过自定义JavaScript函数轻松完成,但文档说它慢得多......

谢谢!

PS我想避免更改架构.

更新:Mongo中存在关联错误/错误:https://jira.mongodb.org/browse/SERVER-1264

Nin*_*nja 5

我想这应该有效:

db.mycollection.find({"coverages": {"$elemMatch": {"2": /^WC/}}})
Run Code Online (Sandbox Code Playgroud)