【问题标题】:Automatically change node numbers after deleting a node in Firebase Realtime Database Array删除 Firebase 实时数据库阵列中的节点后自动更改节点号
【发布时间】:2020-07-12 01:20:15
【问题描述】:

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

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

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

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

现在导入后我们看到 55 个节点,其中有 7 个节点!!

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

【问题讨论】:

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


    【解决方案1】:

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

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

    一般来说,您在此处尝试使用 Firebase 实时数据库不是一个好主意。 Indexed arrays are a poor choice 用于建模 NoSQL 数据。一定要读那篇文章。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多