【发布时间】:2018-10-14 02:52:43
【问题描述】:
我有 2 个收藏:
用户:uid、displayName。
活动:用户可以创建的文档。它还包含 userUid 及其对 Users 集合的引用
我得到这样的活动:
this.activities = this.afs.collection<Activity>('activities')
.snapshotChanges()
.pipe(
map((actions) => {
return actions.map((a) => {
const data = a.payload.doc.data();
data.uid = a.payload.doc.id;
return data;
})
}));
那么,我的问题是加入和获取用户数据的最佳方式是什么?
我试过这样:
actReference.snapshotChanges().pipe(
map((actions) => {
return actions.map((a) => {
const actData = a.payload.doc.data();
actData.uid = a.payload.doc.id;
return this.userService.getUserDocById(actData.userUid).snapshotChanges()
.pipe(
map((userActions) => {
const userData = userActions.payload.data();
return { user: { uid: userData.uid, displayName: userData.displayName }, ...actData };
}))
})
}));
但它返回给我一个
Observable<Observable<Activity>[]>>
【问题讨论】:
标签: angular firebase google-cloud-firestore angularfire2