繁体   English   中英

如何在Firebase上添加使用指定键而不是默认键的push()

[英]How to add to use push() with a specified key instead of default key on firebase

Firebase上的实时数据库屏幕截图

因此,我尝试使用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以便我以后更容易参考各个条目

听起来您只想在预定义的位置设置()值,而不是使用push()总是会使用自己的算法来生成密钥。

manRef.child(uid).set({
        ManagerID : uid,
        Email : sEmail,
        Society : society
    })
}

我将执行以下类似操作以使此功能更强大。 注意,在存储它们之前,我喜欢.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
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM