rethinkdb在数组内匹配

时间:2016-09-04 18:52:53

标签: arrays match rethinkdb

我有一张名为' conditions'其中包含结构如下的JSON文档:

{
 "keyA": "valueA",
 "keyB": "valueB",
 "symptoms": ["foobar", "bar", "cough", "itch"]
}

我只想执行一个查询,该查询返回所有具有与正则表达式匹配的症状的文档。

我最接近的是这个查询:

r.db('database_name').table('conditions').filter(r.row('symptoms').nth(0).match('oob'));

这将返回文档(行),因为它与第0个元素" foobar"匹配。

然而,我根本无法找到迭代整个数组的方法。例如。如果" foobar"是"症状的最后一个元素"数组它不会匹配。

任何帮助将不胜感激, 感谢

编辑:我自己想出来了。这是有效的查询:

r.db('database_name').table('conditions').filter(function(row){
  return row('symptoms').contains(function(symptom){
     return symptom.match('foo')
  })
})

0 个答案:

没有答案