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

时间:2014-09-16 17:50:02

标签: json firebase angularfire

我正在尝试将我的JSON Store对象的contact属性之一更改为phonenumber。以下是从Firebase信息中心看到的我的商店对象

enter image description here

我希望一次性将所有商店对象的contact:更改为phonenumber:

enter image description here

我现在的计划是导出JSON并手动更改它们,但必须有一个我不知道的更好的方法。我如何最有效地完成这项工作?

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

2 个答案:

答案 0 :(得分:0)

用您喜欢的语言编写脚本(只要它支持Firebase API,但您也可以使用REST API)。在脚本中,您可以遍历数据以修改和保存数据。

答案 1 :(得分:0)

根据他的评论中包含的代码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); }
  });
});

您需要做的就是更新firebase主机名,以及包含用户列表的节点的路径。

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