将数据角度推送到用户节点



我正在用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
                })

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

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

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

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(...)

最新更新