在遗留的firebase中,以加号('+')字符作为Key的数据可以'不能删除
In legacy firebase, data with the plus ('+') character as Key can't be deleted
我还没有迁移到新的firebase计划。但在旧的firebase系统中,我发现除了文档中提到的无效字符外,数据键不能包含加号("+")。当我试图删除带有密钥类型的数据但失败时(使用Firebase.remove()
),我发现了问题。
以下是我重现的问题。
-
使用默认的火球规则
{"规则":{".read":true,".write":true}}
-
将Key/Value分别插入为++/ff的一个数据。
-
在javascript代码端,运行以下代码。
var s = 'https://myfirebase.firebaseio.com'; var dd = new Firebase(s + '/++'); dd.remove( function(error) { if (error) { console.log('failed'); } else { console.log('succeeded'); } });
运行完代码后,程序将运行到包含console.log('succeeded');
的回调块中。但是数据(++/ff)仍然存在。
适用于我:
var ref = new Firebase('https://stackoverflow.firebaseio.com/38559661');
ref.on('value', function(snapshot) {
console.log(snapshot.key(), snapshot.val());
});
setTimeout(function() {
console.log('Adding child');
ref.child('++').set(true);
},2000);
setTimeout(function() {
console.log('Removing child');
ref.child('++').remove();
},4000);
工作jsbin:http://jsbin.com/dowuho/edit?html,js,控制台
相关文章:
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 元素的内容必须由格式正确的字符数据或标记组成
- 如何将字符串拆分为字符,但在javascript中保留空格
- 使用Google Maps API向标记添加多个字符
- 处理JSON字符串会导致JavaScript错误
- 单元格的工具提示或标题不显示超过2000个字符
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- KeyPress和Keydown在这个特定的代码上不起作用.只有key-up起作用
- 元素名称上带有短划线 (-) 字符的 Json 对象
- 无法呈现js unicode字符“u1F310”
- 在遗留的firebase中,以加号('+')字符作为Key的数据可以'不能删除