Odpowiedz

8

OR nie jest obsługiwany jako że to trudne dla serwer do skalowania (wymaga zachowania stanu do dedupcji). Praca polega na wydaniu 2 zapytań, po jednym dla każdego warunku i deduplikacji na kliencie.

+0

dokładnie to, co teraz robię. W porządku, dzięki! – ProblemsOfSumit

+10

Rozumiem odpowiedź, ale jeśli chcę uzyskać wszystkie dokumenty, w których pole 'status' to' a' LUB 'b' LUB' c' LUB '...' (powiedzmy 50 LUB). Czy muszę wykonać 50 zapytań i dołączyć do nich? Nie wydaje się superoptymalna? Czy się mylę? Czy istnieje lepszy sposób podejścia do tego? Dzięki. – nerotulip

+0

@nerotulip żadnych sukcesów w tej sprawie? – Babar

-1

można powiązać dwa obiekty Observables za pomocą operatora rxjs merge. Oto przykład.

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/observable/merge'; 

... 

getCombinatedStatus(): Observable<any> { 
    return Observable.merge(this.db.collection('foo', ref => ref.where('status','==','open')).valueChanges(), 
          this.db.collection('foo', ref => ref.where('status','==','upcoming')).valueChanges()); 
} 

Następnie można zapisać się do nowych aktualizacjach obserwowalnych stosując powyższą metodę:

getCombinatedStatus.subscribe(results => console.log(results); 

Mam nadzieję, że to może pomóc, pozdrowienia z Chile !!