RethinkDB - 同时过滤和匹配

时间:2016-07-30 23:34:28

标签: rethinkdb rethinkdb-javascript

您好我是RethinkDB和javascript的新手。我想知道使用多个过滤器执行查询的最佳方法是什么,包括正则表达式匹配。

e.g。将这两个查询合并为一个,目的是查找给定通道中以字符串开头的所有消息' test'

r.table('messages').filter({ 
  channel: 'channel_id' 
}).run(this._rdbConn)

r.table('messages').filter(r.row('text').match('^test').run(this._rdbConn)

除了答案之外,任何有助于参考的文档都将受到赞赏。

编辑:我注意到您可以链接过滤器,但这是实现我尝试做的正确方法吗?

r.table('messages').filter({ 
  channel: 'channel_id' 
}).filter(r.row('text').match('^test')).run(this._rdbConn)

1 个答案:

答案 0 :(得分:0)

链接过滤器可能是您想要的最简单的方法。你也可以写.filter(function(row) { return row('channel').eq('channel_id').and(row('text').match('^test')); })