Firebase条目可以在其名称中包含逗号吗?

时间:2012-06-26 17:58:13

标签: firebase

var ref1 = new Firebase("http://gamma.firebase.com/myuser/123,456");
ref1.set("123,456");
var on1 = ref1.on("value", function(snapshot) {
    console.log(snapshot.val());
});
// console logs 123,456

所以使用逗号命名工作正常。但是,假设您想要将URL传递给参考号。

var url1 = ref1.toString();
console.log(url1);
// console logs http://gamma.firebase.com/myuser/123%2C456

toString()函数返回url的一个版本,逗号替换为“%2C”。如果URL仍然可用,这将没有问题。

var ref2 = new Firebase(url1);
var on2 = ref2.on("value", function(snapshot) {
    console.log(snapshot.val());
});
// console logs null

这是一个错误,还是有充分理由说明用户必须要做

之类的事情
var url1 = ref1.toString().replace(/%2C/g,",");

为了获得可用的Firebase网址?

1 个答案:

答案 0 :(得分:0)

Firebase密钥允许使用逗号。我们的网站上有一系列受限制的字符,但供将来参考in our docs

这里的问题是toString()方法是对URL进行URL编码。我们的目的是,这样可以更轻松地将该URL粘贴到浏览器中,并使用我们的实时调试器进行查看。我可以看到如果你调用toString然后尝试使用该字符串创建一个新的Firebase引用,这会产生什么问题。

我们认为这不是正常用例。你能详细说明为什么要使用另一个引用的toString方法构建新的Firebase引用吗?我们有“child()”和“parent()”函数来帮助您遍历数据。

我们将在内部讨论是否要更改URL在toString中的编码方式,并在将来的版本中修复此问题。