如何使用AngularFire2对Angular 4中的Observable返回的数据进行分组

时间:2017-12-26 12:22:35

标签: angular rxjs angularfire2

我正在努力将来自Angularfire2

的观察点的数据分组

现在,我在Firestore文档中获得了一系列值,并且每个文档都返回一个文档。 :

我的提供商

getUserActivites() {
    return this.afs.collection("users").doc(`${this.userId}`)
      .snapshotChanges()
      .map(list => {
        let event = list.payload.data().activities
        return event.map(e =>
          ({ activity: this.afs.doc(`activities/${e}`).valueChanges() })
        )
      })
    }

我的组件

ionViewDidLoad() {
    this.userActivities = this.agenda.getUserActivites()
    })
  }

然后在我看来

 <div *ngFor="let item of userActivities | async">
        <div *ngIf="item.activity | async; let activity;">
            <p>{{ activity.start_date | amCalendar}}</p>
            <p><strong>{{ activity.name}}</strong></p>
            <p>{{ activity.description }}</p>
        </div>
 </div>

以上部分有效。

然后,我想按值start_date对数据进行分组。我尝试创建一个基本的Angular Pipe,但.reduce()函数似乎无法处理一个observable。 我也尝试实现RxJs GroupBy但没有成功。 任何人都可以在这里提出一个策略,关于如何通过这个Observable进行分组?

0 个答案:

没有答案