RxJS & Firestore - сопоставить список идентификаторов документов с документами - PullRequest
0 голосов
/ 24 августа 2018

Я сохранил в своей базе данных список IDS сообщений, которые понравились пользователю, теперь я хочу показать список сообщений, которые ему понравились.

Я пытаюсь сопоставить IDS с сообщениями, используя RXJS.

Пока что я получил список идентификаторов в снимке, и я не уверен, как переключить их на сами документы:

myLikedConfessions() {
    return this.db.doc(this.USER_COLLECTION)
      .collection('likedConfs',
          ref => ref.limit(5))
      .snapshotChanges()
      .mergeMap((ids) => {
        console.log(ids);
 // each id should have the observable result of: this.db.collection('posts').doc(docID);

          return Observable.of({});
      })
  }

Есть идеи?

1 Ответ

0 голосов
/ 24 августа 2018

Просто используйте forkJoin, который ожидает завершения всех наблюдаемых источников:

...
.mergeMap((ids) => {
  const observables = ids.map(id => this.db.collection('posts').doc(id))
  return Observable.forkJoin(observables)
})
...