配列を含む大きなJSONファイルがあります。私は自分のアプリのバックエンドにFirebaseを使っています。私はFirebaseArrayを使ってデータを保存したいと思っています。JSONアレイをFirebaseArrayとしてFirebaseにインポートするにはどうすればよいですか?
私のAngularアプリからFirebaseArrayを作成してデータを追加するのは簡単ですが、私のアプリの本質は、まず何かFirebaseにインポートする必要があるデータを取得したことです。
FirebaseのWebサイトでは、インポートするための唯一のオプションはJSONからです。 JSONファイルをインポートすると結果は数値キーのあるオブジェクトになります。これは配列のようなものですが、大きな問題があります。
{
"posts": {
"0": {
"id": "iyo0iw",
"title": "pro patria mori"
},
"1": {
"id": "k120iw",
"title": "an english title"
},
"2": {
"id": "p6124w",
"title": "enim pablo espa"
}
}
}
ユーザーはアイテムの位置を変更でき、アイテムの位置もアイテムが一意に識別される方法です。複数のユーザーがいる場合、次の問題が発生する可能性があります。
- サラ: "みなさん、こんにちは"
- トレバーへの変更後の[0]タイトル:ポストとのスワップポスト[1]の位置[2]
- サラ:この」に変更後の[1]タイトルがありますインデックス1に投稿してください。
短い時間内に次のような操作が行われた場合、FirebaseはSarahがタイトルを変更したときに見たことをPost [1]で確認できません。更新。
JSONファイルをインポートして配列をFirebaseArraysにする方法です。数値キーを持つオブジェクトではなく、配列のようなもので、上記の問題を共有します。
IDはキーです。複数の人が日を変更する可能性があり(アイテムの位置を変更する可能性があるため)、配列は私のアプリにとっては悪い考えです。詳細については、こちらをご覧ください:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html –
質問を明確にするために更新しました。 –
「投稿」の下にある他の子どもとの相対的な順序を決定する別のフィールドが各投稿に必要なように聞こえます。 orderByChildを使用して、その注文を照会することができます。他の値が表示順序を決定するので、この場合、子のインデックス/キーはまったく重要ではありません。 –