如何使用AngularFire2在Firebase中创建JSON树和嵌套节点

时间:2018-12-12 16:06:53

标签: json angular firebase angularfire2

关于AngularFire2 v5没有适当的文档,所以我不知道我应该从哪里学习,但是这里仅适用于Firestore。我不使用Firestore,而是使用Firebase实时数据库。 https://github.com/angular/angularfire2/tree/master/docs

但是,我对此很陌生,我正在寻找如何将数据存储在集合中,看起来像这样:

nepal-project-cffb1: 
   users: 
      userid: 
        email: "lajmis@mail.com"
        score: 1

我的功能现在看起来像这样:

this._db.list("users/" + "id").set({
      email: this.user,
      score: this.score
    })

但是它不起作用,我收到Expected 2 arguments, but got 1.错误。有很多语法,例如.ref .list,我不知道要使用哪个语法。

1 个答案:

答案 0 :(得分:2)

AngularFire指南dedicated to RTDB的整个部分,因此我对没有真正文档的说法感到困惑。通常,您将使用valueChanges()来创建列表观察者,如here所述,以进行阅读,并且set()被覆盖here

正如该文档所示,您需要在调用它时传递要修改的记录的键以及要更改的数据。

this._db.list("users").set("id", {...});

但是,如果您不监视集合,也可以直接使用db.object

this._db.object("users/id").set({...});

使用AngularFire可能无法立即直观看出的一个方面是,它主要是一种适配器模式,旨在消除在Angular模型和Firebase服务器之间传递数据的一些样板。

如果您不同步数据(下载本地副本),则没有理由在此处使用AngularFire。您只需直接调用Firebase SDK,即可避免订阅远程端点的开销:

firebase.database().ref("users/id").set({...});