Angular将数据推送到用户节点

时间:2018-01-15 21:06:45

标签: angular firebase firebase-realtime-database ionic2

我正在使用Ionic构建我的第一个移动应用程序,一切都是 进展顺利。我创建了一个用户登录,用户登录后会在firebase中获取自己的节点。但是,我想将数据保存到 登录用户。此时数据正在保存到自己的节点。我的 方法如下

this.diary = db.list('UID');//this is where I think I am going wrong?

handler: data=> {
                    this.diary.push({
                        country: data.a,
                        city: data.b,
                        month: data.c,
                        day: data.d,
                        time: data.e
                })

任何帮助都会很棒,提前谢谢

1 个答案:

答案 0 :(得分:0)

每次在数据库引用上调用push()时,Firebase都会在该引用下创建一个新的唯一位置。

您似乎希望将数据存储在用户的UID下,而不是在新的唯一位置下。为此,请致电child(...)而不是push()。 E.g。

this.diary = db.list('UID');
let user = firebase.auth().currentUser;

handler: data=> {
                this.diary.ref.child(user.uid).set({
                    country: data.a,
                    city: data.b,
                    month: data.c,
                    day: data.d,
                    time: data.e
            })

但是在这种情况下,如果您绕过AngularFire进行此操作并直接进入JavaScript SDK,则可能更容易:

db.child('UID').child(user.uid).set(...)