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