我正在尝试按字段AngularFire
对userId
Firestore集合(Observable [])进行分组。
我有一组项目,每个项目都有不同的userId值,我需要将它们分组为多维数组。所以,转换..
[
{userID:1, color:'blue' },
{userId:2, color:'green'},
{userId:1, color:'orange'}
]
到
[
[
{userID:1, color:'blue' },
{userId:1, color:'orange'}
],
[
{userId:2, color:'green'}
]
]
我对RxJs全新,我在制作groupBy
时了解Observable.of(itemsArray)
运算符的工作原理,但我看不出如何使用Observable
从AgularFire
let items:Observable[] = this.afs.collection<Item>('items')
.snapshotChanges()
.groupBy( item => item.userId ); //item is actually the array
看起来AngularFire
会返回一个Observable
,它会发出整个数组,而不是每个元素。
如果我map
它,那么我不是只有数组中的每个项目,而不能使用groupBy
?
关于如何按上述方式返回Observable
分组数组数组的任何指针?
答案 0 :(得分:0)
你可以简单地将你的数组的observable转换为数组值的observable:
myObservable.flatMap(arr => Rx.Observable.from(arr));