Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将动态子项添加到我的Firebase引用URL_Firebase - Fatal编程技术网

将动态子项添加到我的Firebase引用URL

将动态子项添加到我的Firebase引用URL,firebase,Firebase,我一直在尝试向firebase数据引用URL动态添加一个子项,但到目前为止运气不佳 假设我有以下数据结构: MyApp |-beta_注册 |-用户 |--弗雷德 |----电子邮件“fred@test.com" 我想能够添加的人谁注册,作为一个孩子,根据他们的电子邮件地址下的“注册”部分。这是我试过的,但没用 var myDataRef = new Firebase("https://myapp.firebaseio.com/beta_signups/"); $('#submit').cl

我一直在尝试向firebase数据引用URL动态添加一个子项,但到目前为止运气不佳

假设我有以下数据结构:

MyApp
|-beta_注册
|-用户
|--弗雷德
|----电子邮件“fred@test.com"

我想能够添加的人谁注册,作为一个孩子,根据他们的电子邮件地址下的“注册”部分。这是我试过的,但没用

var myDataRef = new Firebase("https://myapp.firebaseio.com/beta_signups/");
  $('#submit').click(function() {
      var email = $('#email').val();
      myDataRef.child(email).push({email: email, beta_key: false});
      $('#email').val('We got it.');
  });

关于如何动态添加子对象,有什么建议吗

不能将电子邮件地址用作子路径的键,因为它包含无效字符。请参阅文档中的

您还将根据电子邮件地址创建子项,然后使用
推送
创建电子邮件的子项。也许,您应该去掉
.child(电子邮件)
位,使用push创建记录

var user_id = myDataRef.push({email: email, beta_key: false}).name();
首先要问的是,您是否真的希望通过电子邮件存储用户。一般来说,ID会更有用(他们可能会在以后更改电子邮件,在这种情况下,您必须在系统中重新输入他们的所有用户数据)

如果这是一个要求,那么你要么要对它们进行散列,要么对它们进行消毒。例如:

// replace all forbidden characters with something that won't appear in the email address
var key = email.replace(/[.$\[\]\/#]/, ','/);
myDataRef.child(key).set({email: email, beta_key: false});