从 FirebaseListObservable 中提取数据到数组
Extract data from FirebaseListObservable to Array
抱歉我的英语不好,我有这个观察结果:
this.productos = af.database.list('/productos', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
}
});
我需要从这里提取所有 id 并设置在一个数组中,但我不知道如何,谢谢。
编辑:
我可以提取 id 但我使用 de key,现在我需要提取其他数据,但是 snapshot.val,不工作。
this.productos = af.database.list('/productos/', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
}, preserveSnapshot:true
});
this.productos.subscribe(snapshot => {
snapshot.forEach(snapshot => {
console.log(snapshot.key);
this.idproductos.push(snapshot.key);
});
console.log(this.idproductos);
});
您只需
this.productos = af.database.list('/productos/', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
})
.map(products => products.map(product => product.$key));
结果将是可观察的键数组。现在您可以订阅它或做任何您想做的事了。
this.productos.subscribe(keys => console.log("keys are", keys));
如果 AngularFire 和 FirebaseListObservable
之类的东西被正确使用,你不需要担心快照,或者拍摄它们 val()
,或者对它们做 forEach
,或获取元素并将它们放入您自己的数组中。 FirebaseListObservable
是数组的可观察对象。只需 map
它即可创建其他可观察对象,就像我们在上面所做的那样,以创建键数组的可观察对象,或订阅它以获取基础数据。
抱歉我的英语不好,我有这个观察结果:
this.productos = af.database.list('/productos', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
}
});
我需要从这里提取所有 id 并设置在一个数组中,但我不知道如何,谢谢。
编辑:
我可以提取 id 但我使用 de key,现在我需要提取其他数据,但是 snapshot.val,不工作。
this.productos = af.database.list('/productos/', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
}, preserveSnapshot:true
});
this.productos.subscribe(snapshot => {
snapshot.forEach(snapshot => {
console.log(snapshot.key);
this.idproductos.push(snapshot.key);
});
console.log(this.idproductos);
});
您只需
this.productos = af.database.list('/productos/', {
query: {
orderByChild: 'categoria',
equalTo: this.catnombre
})
.map(products => products.map(product => product.$key));
结果将是可观察的键数组。现在您可以订阅它或做任何您想做的事了。
this.productos.subscribe(keys => console.log("keys are", keys));
如果 AngularFire 和 FirebaseListObservable
之类的东西被正确使用,你不需要担心快照,或者拍摄它们 val()
,或者对它们做 forEach
,或获取元素并将它们放入您自己的数组中。 FirebaseListObservable
是数组的可观察对象。只需 map
它即可创建其他可观察对象,就像我们在上面所做的那样,以创建键数组的可观察对象,或订阅它以获取基础数据。