我有一个如上所示构建的Firebase实时数据库^^
但是,当我删除节点时。假设我删除了7号节点,那么该结构中没有'7'! 但是当我导出JSON数据时,它看起来像一个数组:
"nodeName": [ {
"name": 'firstUser'
}, {
"name": 'secondUser'
}
]
,当我再次导入相同的JSON时,NODE的数量会自动调整!假设我们之前有56个节点,而删除一个节点后我们有55个节点,但是缺少数字“ 7”。
现在导入后,我们看到55个节点,节点号为7!
问题是,如何在删除节点后不导出n重新导入的情况下自动更改[减去1]以下的节点数
答案 0 :(得分:1)
在删除节点后如何自动更改[[减1]]以下的节点数并且不导出n重新导入
您不能更改节点的名称。您可以做的就是读取节点,然后使用新名称将其写回。
通常,在Firebase实时数据库中,您要尝试执行的操作不是一个好主意。 Indexed arrays are a poor choice用于为NoSQL数据建模。一定要阅读该帖子。
如果要将数据添加到列表,建议的方法是push() data into the list。如果您需要列表的排序顺序,则应在每个节点中使用一个子值,并使用sort the list by that field。