У меня есть 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>[]>>