【发布时间】:2017-12-27 15:22:49
【问题描述】:
我在 Firebase 中有以下数据:
在“-Kabn1954”分支中,我想删除项目“apple”。使用 Swift,我删除了特定分支中特定索引处的项目,使用以下命令:
self.ref.child("-Kabn1954").child("foods").child("1").removeValue()
但是,在我这样做之后,Firebase 数据如下所示:
如您所见,此分支中的数据现在直接从索引 0 转到索引 2。因此,我收到错误消息。我怎样才能使索引 1 处的项目被删除时,其余两个项目的索引为 0,后跟索引为 1?
【问题讨论】:
-
Such cases are the reason that usage of objects are preferred over arrays。我不知道它是否(对象)适用于 swift,但您可以查看此资源以获取 Synchronized Arrays。
-
请避免在 NoSQL 数据库中使用数组。 Arrays are Evil 并查看像 this one 和 this one 这样的答案。通常,使用 childByAutoId 创建键并将键:值对存储在这些父节点中。它使其可编辑、可查询并且更易于支持。
标签: swift firebase firebase-realtime-database