未执行 AngularFire2 数据库调用

AngularFire2 DB call is not executed

我正在尝试从 Typescript 中的 Angularfire2 中过滤数据库列表以获取特定记录。

AddAppointment(date:Date){
let existingAppointment = this.af.database.list(this.appointmentDbRoute).map(values => {
  let filtered = values.filter(filter => filter.Date === date);
  return filtered;
})};

问题是:地图方法未执行。我可以做我想做的,它不执行,只有当我在末尾添加订阅功能时。 在所有教程中仅调用 Map 方法。

我使用的版本是angularfire2@^2.0.0-beta.2

我做错了什么?

我想你想要这样的东西

this.items = af.database.list('this.appointmentDbRoute', { preserveSnapshot: true });
this.items
  .subscribe(snapshots => {
    snapshots.forEach(snapshot => {
      // DO SOME FILTERING HERE...
    });
  })

来自此处的文档:https://github.com/angular/angularfire2/blob/master/docs/3-retrieving-data-as-lists.md

您正试图在 FirebaseObservable 上调用地图,因为您的调用

this.af.database.list(this.appointmentDbRoute)

returns一个FirebaseObservable你需要subscribe得到结果然后执行过滤