でのアイテムの削除:「-Kabn1954」ブランチで私はFirebaseに次のデータ持っFirebase
を、私は項目「りんご」を削除します。私はこれを行った後、Firebaseデータは次のようになり、しかし
self.ref.child("-Kabn1954").child("foods").child("1").removeValue()
:
スウィフトを使用して、私はこれを使用して、特定の分岐で、特定のインデックスにある項目を削除しますご覧のとおり、このブランチのデータはインデックス0からインデックス2に直接移動します。このため、エラーが発生します。インデックス1のアイテムが削除されると、残りの2つのアイテムのインデックスが0に続いてインデックスが1になるようにするにはどうすればよいですか?
[そのような場合は、オブジェクトの使用が配列より優先される理由です](https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)。私は、それが素早く適用可能かどうかは考えていませんが、このリソースは[Synchronized Arrays](https://firebase.googleblog.com/2014/05/handling-synchronized-arrays-with- real.html)。 –
NoSQLデータベースでの配列の使用は避けてください。 [Arrays are Evil](https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)と[this one](https://stackoverflow.com/)のような回答をチェックしてください//firebase-layout-of-child-data-in-inroid/43191862#43191862)と[this one]ルールオンキー名/ 45804389#45804389)。一般に、childByAutoIdでキーを作成し、それらの親ノード内にkey:valueのペアを格納します。編集可能で、クエリ可能で、サポートするのがずっと簡単です。 – Jay