1

こんにちは、私は RethinkDB と JavaScript 全般に不慣れです。正規表現一致を含む複数のフィルターを使用してクエリを実行する最善の方法は何だろうと思っていました。

たとえば、これら 2 つのクエリを 1 つにマージして、特定のチャネルで文字列 '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)
4

1 に答える 1

0

フィルターをチェーンすることは、おそらく、やりたいことを実行する最も簡単な方法です。と書くこともできます.filter(function(row) { return row('channel').eq('channel_id').and(row('text').match('^test')); })

于 2016-08-01T08:07:55.427 に答える