所以,我已经搜索了类似的问题,但是看起来这些问题与我的情况有所不同或没有得到回答。因此在这里请求支持。
我有一个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]错误