2017-10-30 9 views
8

Firestore 쿼리에서 논리 OR 연산자를 구현하려고합니다.Firestore 쿼리에서 OR 구현 - Firebase firestore

db.collection('users').where('company_id', '==', companyId) 
          .where('role', '==', 'Maker') 
          .where('role', '==', 'Checker') 
          .where('role', '==', 'Approver') 
          .get().then(function(adminsSnapshot){ 


      //Some processing on dataSnapshot 
}) 

하지만 이것은 OR을 구현하는 올바른 방법이 아닙니다.

'Maker, Checker 또는 Approver'역할을 가진 모든 사용자를 원합니다.

Firestore 쿼리에서 OR을 어떻게 구현합니까? 문서에는 아무 것도 없습니다.

+0

기본 역할은 무엇입니까? – Hareesh

답변

8

Cloud Firestore에는 "OR"쿼리가 없습니다. 단일 쿼리에서이를 수행하려면 maker_or_checker_or_approver: true과 같은 단일 필드가 필요합니다.

물론 세 가지 쿼리를 수행하고 클라이언트에서 조인 할 수 있습니다.

+0

3 개의 쿼리를 작성합니다. 그게 내가하는 일이야. 예 –

+1

내가 트위터와 같은 것을 말하고 내가 따르는 사람들의 트윗 만보고 싶다면'트윗 (사용자 == 존 또는 리사 또는 줄리아) '이라고 말할 수는 없습니까? –

+0

맞습니다. 하나의 쿼리에서 그렇게 할 수는 없습니다. –

관련 문제