2017-10-30 12 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を実装するにはどうすればよいですか? Docには何もありません。

+0

デフォルトの役割は何ですか? – Hareesh

答えて

8

Cloud Firestoreに「OR」クエリがありません。これを単一のクエリで実現したい場合は、maker_or_checker_or_approver: trueのような単一のフィールドが必要です。

もちろん、3つのクエリを実行してクライアント上でそれらを結合することはもちろん可能です。

+0

私は3つの質問をしています。それは私がやっていることです。はい –

+1

だから、もし私がtwitterのようなことを言おうとしたら、私が従う人のつぶやきだけを見たいのですが、私は 'tweets.where(user == john OR lisa OR julia) 'と言うことはできません? –

+0

それは正しいです、あなたは1つのクエリでそれを行うことはできません。 –

関連する問題