我一直在尝试将子项动态添加到我的 firebase 数据引用 URL,但到目前为止还没有成功。
假设我有以下数据结构:
MyApp
|-beta_signups
|-users
|--fred
|----邮箱”[电子邮件受保护] /cdn-cgi/l/email-protection"
我希望能够根据“注册”部分下的电子邮件地址添加小时候注册的人。这是我尝试过的,但没有成功。
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.');
});
关于如何动态添加孩子有什么建议吗?
您不能使用电子邮件地址作为子路径的键,因为它包含无效字符。看创建参考 https://www.firebase.com/docs/creating-references.html在文档中。
您还根据电子邮件地址创建一个子项,然后使用以下命令创建电子邮件的子项push
。也许,你应该摆脱.child(email)
位并使用推送来创建记录。
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});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)