У меня есть структура данных в моей базе данных Firebase, которая имеет ссылку на идентификатор пользователя.
Я пытаюсь «собрать объект вместе», но у меня возникают проблемы. Вот пример:
Исходные данные о моей коллекции:
{
city: new york,
country: usa
addedBy: feibf78UYV3e43 // This is the USER ID from the User Collection.
}
Что мне нужно сделать, это получить информацию о пользователе для каждого документа в моей коллекции, однако я получаю пользовательские данные как наблюдаемые, как я могу это сделать? Объект должен выглядеть следующим образом:
{
city: new york,
country: usa
addedBy: feibf78UYV3e43 // This is the USER ID from the User Collection.
addedByProfile: {
firstName: John,
lastName: Doe,
age: 34
}
}
Я попытался создать 2 подписки, но это не сработало.
Вот мой базовый c код без дополнительного запроса.
getAllIncome() {
return this.incomeService.getAllIncomeShops().subscribe(
snaps => {
const incomeShops = snaps.map(snap => {
// I had the call to my UserService here on which I called the getUser() method passing the UID, however, I need to subscribe for that and it messes things up.
return {
id: snap.payload.doc.id,
...snap.payload.doc.data()
} as IncomeShop;
});
this.showLoader = false;
this.dataSource = new MatTableDataSource(incomeShops);
this.dataSource.sort = this.sort;
this.dataSource.paginator = this.paginator;
}
);
}