我有以下内容,只需将名称与uid一起推送到数据库中即可。我想将uid同时存放在另一个位置。我怎样才能做到这一点?我使用离子3,angularfire2。
addName() {
let prompt = this.alertCtrl.create({
title: 'Name of user',
message: "Enter a name for this new user",
inputs: [
{
name: 'Name',
placeholder: 'Username'
},
],
buttons: [
{
text: 'Cancel',
handler: data => {
console.log('Cancel clicked');
}
},
{
text: 'Save',
handler: data => {
this.users.push({
title: data.Name,
});
this.posts.push({
title: data.Name
});
}
}
]
});
prompt.present();
}
提前致谢
答案 0 :(得分:3)
您的代码未对用户进行身份验证,因此不会涉及UID(用户ID的简称)。
但是,如果您在写入两个位置时希望使用相同的推送ID :
handler: data => {
var key = this.users.push().key;
this.users.child(key).set({
title: data.Name,
});
this.posts.child(key).set({
title: data.Name
});
}
您甚至可以将两个set
操作合并为一个更新,但我不确定您的users
和posts
引用是如何相关的。如果两者都是来自根的直接孩子,那就是:
handler: data => {
var key = this.users.push().key;
var updates = {};
updates["users/"+key+"/title"] = data.Name;
updates["posts/"+key+"/title"] = data.Name;
this.ref.update(updates);
}