Объедините запросы FireStore с rxjs (запрос OR) - PullRequest
2 голосов
/ 17 октября 2019

Я пытаюсь объединить два запроса Firestore в проекте Ionic / Angular, используя RxJS. Я нашел этот пост , в котором объясняется основной принцип, однако метод .combineLatest устарел, и я не могу понять, как вместо этого передать два запроса в карту.

caOrCoCities$: Observable<City[]>;

...

const californiaRef = this.angularFirestore
    .collection("cities", ref => ref.where("state","==","CA"));
const coloradoRef = this.angularFirestore
    .collection("cities", ref => ref.where("state","==","CO"));

Не знаете, как обновить это ниже ...

this.caOrCoCities$ = Observable
    .combineLatest(californiaRef.valueChanges(),
                   coloradoRef.valueChanges())
    .switchMap(cities => {
        const [californiaCities, coloradoCities] = cities;
        const combined = californiaCities.concat(coloradoCities);
        return Observable.of(combined);
    });

1 Ответ

3 голосов
/ 17 октября 2019

RxJS 6 имел несколько изменений в синтаксисе. Вы можете изменить свой код, как показано ниже.

import { combineLatest, of } from 'rxjs';

this.caOrCoCities$ = combineLatest(californiaRef.valueChanges(), coloradoRef.valueChanges())
    .pipe(
       switchMap(cities => {
         const [californiaCities, coloradoCities] = cities;
         const combined = californiaCities.concat(coloradoCities);
         return of(combined);
       })
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...