在RethinkDB中设置成员资格测试



简单的问题:如何根据集合成员资格过滤行?例如,我想知道 r.row('color'( 是否在集合 ['red', 'green', 'blue'] 中。

我可以将其编写为一组"or"表达式,但这似乎效率低下,尤其是在集合很大的情况下。

这是您可以做到这一点的一种方法。(注意:这是您在javascript中构建查询的方式。根据您的编程语言,它可能略有不同(。

r.db('YOUR_DB').table('YOUR_TABLE').filter(
function(doc) {
return r.expr(['red', 'green', 'blue']).contains(doc('color'))
}
)

这是一个方便的指南,向您展示如何在 ReQL 中构建常见的 SQL 查询:

https://rethinkdb.com/docs/sql-to-reql/javascript/

在本例中,我们谈论的是SQL中的IN子句。

最新更新