Firebase:更新密钥?

18
{ 
    43268jfjn7983-347983:
    {
         title: 'hello world', 
         time: '1000'
    } 
}

与上面相同,我只想将 43268jfjn7983-347983 更新为其他内容,在Firebase中是否可能实现?


我想知道是否有一个确切的答案? - Ami Hollander
2个回答

29

无法更改现有节点的键。

因此,我建议使用以下方法:

var ref = new Firebase('https://my.firebaseio.com/');
var child = ref.child('43268jfjn7983-347983');
child.once('value', function(snapshot) {
  ref.child('somethingElse').set(snapshot.val());
  child.remove();
});

谢谢,我想那就可以了。 - blablabla

-2

如果涉及调试目的,可以通过Firebase实时数据库控制台轻松完成。

  1. 点击设置图标,然后点击“导出JSON”来导出数据库的JSON文件。

  2. 在简单的文本编辑器中打开它,应用所需的修改并保存。

  3. 在实时数据库控制台上,点击相同的设置图标,然后点击“导入JSON”。

注意:导入JSON文件会覆盖整个数据库。


正如答案中所述,这个解决方案实际上无法在生产环境中使用。该过程太慢了。 - sampoh
@sampoh,这个问题的解决方案是同步两个数据库,如果需要更新一个,则切换引用,然后在更改和上传Jason后切换回来吗? - evu
@evu,你的速度可能不够快。问题在于生产环境中可能会有持续不断的Firebase请求。当你完成导入时,在JSON编辑期间修改过的数据可能已经丢失了。 - sampoh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接