所以我尝试使用Firebase将用户信息存储在数据库中,其中包括他们的电子邮件,ID和关联组。
每次新用户创建帐户时,他们的数据都会保存在父节点Managers
到目前为止,这是我的代码,
var manRef = firebase.database().ref('Managers');
function saveManage(sEmail, uid, society){
manRef.push({
ManagerID : uid,
Email : sEmail,
Society : society
})
}
对于函数saveManage
中的变量是从表单上的条目收集的,我希望能够将新条目推送到节点Managers
,但是将图像中突出显示的键设置为预定义的值,例如uid
,以便我以后更容易引用各个条目
答案 0 :(得分:3)
听起来你只想在预定义的位置设置()而不是使用push(),而push()总是使用自己的算法来生成密钥。
manRef.child(uid).set({
ManagerID : uid,
Email : sEmail,
Society : society
})
}
答案 1 :(得分:0)
我会做类似下面的事情来使这个功能健壮。注意,我喜欢.toLowerCase()
属性,然后再存储它们。这样,即使您只想更新他们的电子邮件并将其余部分单独保留,您现在也可以调用此功能。
var managersRef = firebase.database().ref('managers');
function saveManager(email, uid, society){
var obj = {};
if (uid !== undefined){
if (email !== undefined){
obj["email"][email.toLowerCase()];
}
if (society !== undefined){
obj["society"][society.toLowerCase()];
}
managersref.child(uid).update(obj);
} else {
console.log("uid required") //or throw an error
}
}