Javascript 有没有办法将用户输入设置为Firebase中二级节点的名称

Javascript 有没有办法将用户输入设置为Firebase中二级节点的名称,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我有一个html表单,它将用户数据发送到firebase db,目前看起来像下图。如果我使用push方法保存用户数据,则会生成乱码唯一ID,如果我使用set,则我必须以字符串形式输入节点标题,但我打算添加例如用户的电子邮件作为用户的节点标题,以便每个用户在其电子邮件下都有自己的节点名称编号等,不确定是否可能,找不到任何方法,firebase文档中也没有 有什么想法吗 var registration = firebase.database().ref("REGISTRATION") funct

我有一个html表单,它将用户数据发送到firebase db,目前看起来像下图。如果我使用push方法保存用户数据,则会生成乱码唯一ID,如果我使用set,则我必须以字符串形式输入节点标题,但我打算添加例如用户的电子邮件作为用户的节点标题,以便每个用户在其电子邮件下都有自己的节点名称编号等,不确定是否可能,找不到任何方法,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
})
}

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


用你所说的那把乱码钥匙。这就是它为你而存在的原因。在您拥有电子邮件、显示名称等属性的情况下。

我打算禁止创建相同的电子邮件地址,我打算做的是检查电子邮件密钥/值是否已经存在,如果存在,则用户将无法创建新帐户,这就是我的想法。.Firebase身份验证子系统为您做到这一点。它是烤熟的。我认为,web ui上甚至有一个切换,禁止多个帐户使用同一封电子邮件。试试看。谢谢,我会尝试的,但是出于好奇,我甚至可以做我想做的事情,这使我的工作更方便,更有序。从一开始就正确地获得db结构,否则你以后必须工作3倍才能重新做。他们告诉你如何正确开始。请参阅您希望将顶级用户节点推入的每个子节点是一个键,其子节点是名称、地址、常用颜色等。