我想获取具有与3个不同可能值之一匹配的特定字段/属性的所有记录。
在下面的示例中,我想查看r.db('db').table('table').filter(
function (rec) {
return [ 'Ready', 'Active', 'Something else' ].includes( rec('status') );
}
);
等于'准备好,'有效'或'的所有记录?别的'
我希望能够做到这样的事情:
{{1}}
这不是错误,也不会将状态等于'准备好','有效'或其他'其他'等等的所有记录归还给我39; (它没有返回任何结果)。
答案 0 :(得分:2)
另一种更接近初始预感的解决方案是使用.contains(...)
:
r.db('db').table('table').filter(
function (rec) {
return r.expr(['Ready', 'Active', 'Something else']).contains( rec('status'));
}
);
这可能比使用正则表达式更有效。
答案 1 :(得分:1)
好的,我在阅读了更多关于ReQL查询语言的内容后想出了这个。
我们没有JS功能,而是ReQL,基本上只是意味着您可以使用.match()
和正则表达式。
匹配列表的正则表达式只是将匹配的字符串与条形" |"分开。
所以上面例子的解决方案是
r.db('db').table('table').filter(
function (rec) {
return rec('status').match( "Ready|Active|Something else" );
}
);