Couchdb Mango查询选择器对象数组中的对象

时间:2018-01-05 21:25:30

标签: mongodb couchdb couchdb-mango

我的沙发数据库中填写了此表单中的条目

{
  ...
  "templates" :[
    {"template_id":"1"}
    {"template_id":"2"}
    {"template_id":"3"}
  ]
}

我正在尝试编写一个芒果查询,该查询将查找包含具有特定template_id的对象的模板的所有条目。我知道可以使用视图但我想在可能的情况下使用芒果查询

1 个答案:

答案 0 :(得分:1)

您应该在Mango Query选择器中尝试$ elemMatch运算符。此运算符" 返回包含数组字段的所有文档,其中至少有一个元素与提供的查询条件匹配"

此选择器将检索模板数组

中包含template_id:1的任何文档
  {
    "templates": {
      "$elemMatch": 
        {"template_id":"1"} 
    }
  }

elemMatch运算符接受选择器表达式,以便您可以编写更复杂的查询。

 {
    "templates": {
      "$elemMatch": {"$or":[
        {"template_id":"1"},
        {"template_id":"3"}
        ]
      }
  }