2017-10-30 8 views
8

Ich versuche, logische OR-Operator in Firestore-Abfrage implementieren.Implementieren von OR in Firestore-Abfrage - 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 
}) 

Aber das ist nicht der richtige Weg oder zu implementieren.

Ich möchte alle Benutzer mit Rollen von 'Maker, Checker oder Genehmiger'.

Wie würde ich OR in Firestore-Abfrage implementieren? In Doc ist nichts.

+0

Was ist die Standardrolle? – Hareesh

Antwort

8

Es gibt keine "ODER" -Abfrage in Cloud Firestore. Wenn Sie dies in einer einzigen Abfrage erreichen möchten, benötigen Sie ein einzelnes Feld wie maker_or_checker_or_approver: true.

Natürlich können Sie immer drei Abfragen ausführen und sie auf dem Client verbinden.

+0

Ich mache 3 Abfragen. Das mache ich. Ja, –

+1

Also, wenn ich etwas wie Twitter sagen möchte und ich nur die Tweets von Leuten sehen will, denen ich folge, kann ich nicht 'tweets.where (user == john ODER lisa ODER julia)' sagen? –

+0

Das ist richtig, das ist in einer Abfrage nicht möglich. –

Verwandte Themen