我试图根据父键是否包含特定的子键来过滤可观察的列表。父键是Supplier,每个Supplier都有一个表示Users的子键列表。以下代码有效,但它返回包含任何子用户密钥的每个供应商 - 而不仅仅是包含特定用户密钥(FBKey)的供应商。
我意识到当前的过滤条件有点愚蠢,但它正是我经过多少摆弄并在网上查看的地方。
userIsSupplierAdministrator(FBKey: number): Observable<Supplier[]> {
const suppliers$ = this.af.database.list('supplier-administrators');
return suppliers$
.filter(supplier => !isUndefined(this.af.database.object(`suppliers/${supplier.$key}/${FBKey}`)))
.map(supplier => supplier.map(supp => this.af.database.object(`suppliers/${supp.$key}`)))
.flatMap(supplierObs => Observable.combineLatest(supplierObs))
.map(Supplier.fromJsonList);
}
我真的很感激有关如何构建过滤器的任何建议,以便它只返回包含特定子键(FFBKey)的供应商。
我正在使用Angular / Typescript / Firebase。
关心肖恩
答案 0 :(得分:1)
我要求您完成此question,您将能够解决您的问题。 你遇到的问题与 observables 无关,你试图解决正常的javascript问题。
方法是