2016-07-30 93 views
1

你好我是RethinkDB和JavaScript的新手。我想知道什么是使用包括正则表达式匹配在内的多个过滤器执行查询的最佳方式。RethinkDB - 同时过滤和匹配

例如合并这两个查询到一个与在找到一个给定的信道以字符串“测试”

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) 

回答

0

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