是一种将用户输入设置为Firebase中第二级节点名称的方法

时间:2017-09-16 15:17:00

标签: javascript firebase firebase-realtime-database

我有一个html表单,它将用户数据发送到firebase db,目前看起来如下图所示。如果我使用push方法来保存用户数据,则会生成乱码的唯一ID,如果我使用set,那么我必须输入Node标题作为字符串,但我打算做的是添加例如用户的电子邮件作为节点用户的标题,所以每个用户都有自己的节点(在他的电子邮件下有姓名号等),不确定是否可能,无法找到任何方法,在firebase文档中也没有。

有什么想法吗?

var registration = firebase.database().ref("REGISTRATION")

function dbsave(){
  var email = $("#email").val();
  var name = $("#name").val();
  var password = $("#password").val();
  var genval = $("#gender").val();
  var date = $("#date").val();
  var ContactNumber = $("#phone").val();
  var school = $("#school").val();
  var clas = $("#clas").val();
  var classname = $("#classname").val();

registration.push({
    Email: email,
    Name: name,
    Password: password,
    Gender: genval,
    Birthday: date,
    ContactNumber: phone,
    State: state,
    School: school,
    Class: clas
})
}

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为将电子邮件地址用作密钥并不是一个好主意,特别是如果用户使用相同的电子邮件地址创建了多个帐户,则可以合并帐户。

在调用它时使用那个乱码密钥。这就是为什么它适合你。在那之下你有你的属性email,displayName等。