提问人:vderelle 提问时间:9/5/2016 最后编辑:vderelle 更新时间:9/5/2016 访问量:426
在数组内重新思考数据库匹配
rethinkdb match inside an array
问:
我有一个名为“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')
})
})
答: 暂无答案
评论