【发布时间】:2018-06-19 18:55:50
【问题描述】:
我正在尝试按字段对 AngularFire Firestore 集合 (Observable[]) 进行分组,例如 userId。
我有一个项目集合,每个项目都有不同的 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) 时是如何工作的,但我看不出如何让它与从 AgularFire 返回的 Observable 一起工作
let items:Observable[] = this.afs.collection<Item>('items')
.snapshotChanges()
.groupBy( item => item.userId ); //item is actually the array
看起来AngularFire 返回一个Observable,它发出整个数组,而不是每个元素。
如果我map它,那么我不是只有数组中的每个项目,并且不能使用groupBy吗?
关于如何按上述返回Observable 分组数组数组的任何指针?
【问题讨论】:
标签: javascript firebase rxjs angularfire2 google-cloud-firestore