Json 更改firebase中存储的数据结构的最佳方法是什么?

Json 更改firebase中存储的数据结构的最佳方法是什么?,json,firebase,angularfire,Json,Firebase,Angularfire,我正在尝试将JSON存储对象的一个属性contact更改为phonenumber。以下是从Firebase仪表板看到的我的商店对象 我想同时将我的所有商店对象的联系人:更改为电话号码: 我现在的计划是导出JSON并手动更改它们,但一定有更好的方法,我不知道。我如何才能最有效地做到这一点 此外,如何同时向所有存储对象添加另一个属性,例如所有存储对象的manager属性 用您喜爱的语言编写脚本(只要它支持Firebase API,尽管您也可以使用REST API)。在脚本中,您可以迭代数据以修改

我正在尝试将JSON存储对象的一个属性
contact
更改为
phonenumber
。以下是从Firebase仪表板看到的我的商店对象

我想同时将我的所有商店对象的
联系人:
更改为
电话号码:

我现在的计划是导出JSON并手动更改它们,但一定有更好的方法,我不知道。我如何才能最有效地做到这一点


此外,如何同时向所有存储对象添加另一个属性,例如所有存储对象的
manager
属性

用您喜爱的语言编写脚本(只要它支持Firebase API,尽管您也可以使用REST API)。在脚本中,您可以迭代数据以修改和保存数据。

根据Kato评论中包含的代码,以下是一些JavaScript:

var ref = new Firebase("https://<your-firebase>.firebaseio.com/path-to-your-node");
ref.on("child_added", function(snap) {
  var data = snap.val();
  data.phonenumber = data.contact;
  delete data.contact;
  ref.child(snap.name()).set(data, function(error) {
    if( error && typeof(console) !== 'undefined' && console.error ) {  console.error(error); }
  });
});
var ref=新Firebase(“https://.firebaseio.com/path-to-your-node");
参考(“添加的子对象”,功能(捕捉){
var data=snap.val();
data.phonenumber=data.contact;
删除数据。联系人;
ref.child(snap.name()).set(数据、函数)(错误){
if(error&&typeof(console)!='undefined'&&console.error){console.error(error);}
});
});
您只需更新firebase主机名和包含用户列表的节点路径


我在浏览器控制台上对其进行了测试,但如果您想将其作为命令行脚本运行,它也应该在node.js中工作。

由于对数据结构的更改在每种情况下都是完全专有的,因此没有工具可以为您执行此操作。只需使用once('value')和snapshot.forEach()编写即可。听起来不错。谢谢大家!@加藤