检索Firebase表中的条目

时间:2017-01-19 10:31:14

标签: angular firebase firebase-realtime-database

我的Firebase数据库中有以下项目:

enter image description here

当我的网页加载时,我正在调用此表并尝试检索此处显示的信息:

  getExerciseDesc(): Observable<any> {
    return Observable.create(obs => {
        this.execDbRef2.on('value', snapshot => {
            const exerciseInfo = snapshot.val() as Exercise;
            exerciseInfo.id = snapshot.key;
            obs.next(exerciseInfo);
        },
            err => {
                obs.throw(err)
            });
    });
}

我将值转换为名为Exercise的自定义类,如下所示:

export class Exercise {
  constructor(
      public id: string,
      public description: string,
  ) {}
}

在我的组件中,我有以下代码:

 getExec() {

    this.bugService.getExerciseDesc().subscribe(exo => {

        console.log(exo);

    },
        err => {
            console.error("unable to get exercises - ", err);
        });


}

但是,当exo登录到控制台时,我会看到以下内容:

enter image description here

这不是我所期望的,我期待看到一个带有描述的对象和一个Id填充。

我还尝试记录snapshot.val()并引用说明字段,如下所示:

snapshot.val()['description');

然而这会产生undefined

有些人可以对我在这里做错了吗?

**更新**

好的,所以我设法使用&#39; child_added&#39;在我的服务功能中,但我觉得这是不正确的,因为我不想订阅给定的表并在每次输入时检索新的条目。

有人可以推荐另一种方法吗?

0 个答案:

没有答案