在删除Firebase实时数据库阵列中的节点后自动更改节点号

时间:2020-07-11 16:57:11

标签: node.js firebase firebase-realtime-database

enter image description here

我有一个如上所示构建的Firebase实时数据库^^

但是,当我删除节点时。假设我删除了7号节点,那么该结构中没有'7'! 但是当我导出JSON数据时,它看起来像一个数组:

"nodeName": [ {
    "name": 'firstUser'
  }, {
    "name": 'secondUser'
  }
]

,当我再次导入相同的JSON时,NODE的数量会自动调整!假设我们之前有56个节点,而删除一个节点后我们有55个节点,但是缺少数字“ 7”。

现在导入后,我们看到55个节点,节点号为7!

问题是,如何在删除节点后不导出n重新导入的情况下自动更改[减去1]以下的节点数

1 个答案:

答案 0 :(得分:1)

在删除节点后如何自动更改[[减1]]以下的节点数并且不导出n重新导入

您不能更改节点的名称。您可以做的就是读取节点,然后使用新名称将其写回。

通常,在Firebase实时数据库中,您要尝试执行的操作不是一个好主意。 Indexed arrays are a poor choice用于为NoSQL数据建模。一定要阅读该帖子。

如果要将数据添加到列表,建议的方法是push() data into the list。如果您需要列表的排序顺序,则应在每个节点中使用一个子值,并使用sort the list by that field