如何从可观察ID列表中检索数据(Firestore集合)

时间:2018-07-15 21:37:28

标签: angular

所以,我已经搜索了类似的问题,但是看起来这些问题与我的情况有所不同或没有得到回答。因此在这里请求支持。

我有一个firestore集合,可以查询并获取一些数据,稍后我想用它来获取具有该数据ID的用户。

当前堆栈:Ionic v3.9。,rxjs v6,Angular v5,AngularFire2 v5

在我的模板中,我正在使用异步管道。

这是我的代码

Component.ts

this.items = this.fs.colWithIds$('connections', ref =>
   ref
   .where('inviteType', '==', 'Received') 
   .orderBy('createdAt')).switchMap((resp:Observal<any[]>)=> { return resp.map(val => { return this.fs.doc$(`users/${val.docId}`)}) }) 

我的service.ts

colWithIds$<T>(ref: CollectionPredicate<T>, queryFn?): Observable<any[]> {
      return this.col(ref, queryFn).snapshotChanges().map(actions => {
      return actions.map(a => {
        const data = a.payload.doc.data();
        const id = a.payload.doc.id;
        return { id, ...data };
      });
    });
  }

 doc$<T>(ref:  DocPredicate<T>): Observable<T> {
    return this.doc(ref).snapshotChanges().map(doc => {
      return doc.payload.data() as T
    })
  }

无论我在不同位置尝试使用pipe(mergemap)还是在不同地方绘制地图,我都无法定义或者ngfor不支持[object,object]错误

0 个答案:

没有答案