Я пытаюсь получить результат от Firebase с помощью этого запроса:
// Get all Tipps
getAll(match: String): Observable<any> {
let filter: Object = { query: { orderByChild: 'match', equalTo: match } };
return this.loginService.af.database.list('/tipps/', filter).map((tipps) => {
return tipps.map((tipp) => {
tipp.matchsub = this.loginService.af.database.object("/matches/" + tipp.match).map((matches) => {
return matches.map((match) => {
match.team1sub = this.loginService.af.database.object("/teams/" + match.team1);
match.team2sub = this.loginService.af.database.object("/teams/" + match.team2);
return match;
})
});
return tipp;
});
});
}
Я не уверен, делает ли он то, что должен, потому что 2-й уровень уже наблюдаем, где я не могу смотреть на выход.
Я использую этот код в моем шаблоне, чтобы получить данные:
<div class="match_container" *ngFor="let tipp of tippsmodelview; let i = index;">
<div class="matchbody-col3">
{{(tipp.matchsub.team2sub | async)?.teamname}}
</div>
</div>
Выходные данные не показывают ошибку, но это также не работает. Кто может дать мне подсказку, чтобы показать данные 3-го уровня?
Я бы сказал, попробуйте перестроить свою базу данных Firebase — поскольку вы уже идете на 3 уровня глубоко, чтобы получить некоторые данные, это должно быть более плоским.