Angular 2 Firebase订阅和切换映射多个元素
我发现表“A”中有一个数组,其中包含表“B”的0到N键 我的意图是使用swtich映射来获取表“B”的所有记录 在获得1对1键之前,我已经实现了这个简单的函数: ` ` 但是,当“Ordine.idscoula”是一个键数组而不是单个元素时,如何实现这一点呢Angular 2 Firebase订阅和切换映射多个元素,angular,firebase,observable,switchmap,Angular,Firebase,Observable,Switchmap,我发现表“A”中有一个数组,其中包含表“B”的0到N键 我的意图是使用swtich映射来获取表“B”的所有记录 在获得1对1键之前,我已经实现了这个简单的函数: ` ` 但是,当“Ordine.idscoula”是一个键数组而不是单个元素时,如何实现这一点呢 // Combine Object let TableATableB = TableB // Per ogni Ordine eseguo una Switch
// Combine Object
let TableATableB = TableB
// Per ogni Ordine eseguo una SwitchMap
.switchMap(Ordini => {
// Puntando all'evento tramite la chiave :
const Scuola = Ordini.map( Ordine => this.db.object(`users/${Ordine.IDScuola}`) );
// Se l'oggetto esiste combino i dati e li restituisco
return Scuola.length === 0 ?
Observable.of(Ordini) :
Observable.combineLatest(...Scuola, (...scuole) => {
Ordini.forEach((Ordini, index) => {
Ordini.DatiScuola = scuole[index] ;
});
return Ordini;
}
);
});