关于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
,我不知道要使用哪个语法。
答案 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({...});