在Firebase REST API中节点之间高效移动数据

时间:2017-01-06 18:36:08

标签: performance rest firebase firebase-realtime-database

使用Firebase REST API时,如果我想在节点之间移动数据,如何在不先下载数据然后重新上传到Firebase的情况下执行此操作?

例如,如果我目前有以下数据:

root
    branch_1
            branch_1_1
                      child
    branch_2

如果我想将子项移到branch_2,最有效的方法是逐个下载子项中的每个项目,将它们添加到branch_2并在之后删除branch_1中的子项。

编辑1:更改数据结构以更准确地反映需求

1 个答案:

答案 0 :(得分:1)

或采取完全不同的方法

root
  branches
    -Yiujija9jsd
      branch: "branch_1"
      data: "some data"
      timestamp: "some timestamp"
    -Y88jsj9a9s
      branch: branch_2"
      data: "some other data"
      timestamp: "some timestamp"

然后将“some data”从branch_1移动到branch_2,只需将其分支更新为“branch_2”,看起来像这样

root
  branches
    -Yiujija9jsd
      branch: "branch_2"
      data: "some data"
      timestamp: "some timestamp"
    -Y88jsj9a9s
      branch: branch_2"
      data: "some other data"
      timestamp: "some timestamp"

*使用childByAutoId创建密钥。 **我添加了时间戳,以便可以在上次更新时进行排序。

这是一个非常灵活的结​​构,可以考虑选择。