2016-07-30 2 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')); })으로 작성할 수도 있습니다.