我正在使用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
})
任何帮助都会很棒,提前谢谢
答案 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(...)