2016-05-12 4 views
0

私は現在、このように構成されているJSONオブジェクトがあります。リアクト - ネイティブアプリでボタンを押すとFirebaseのリストに値を追加しますか?

"users": { 
    "0": 
     { 
     "items_list": { 
      "0": [1], 
      "1": [2,3], 
      "2": [8, 9, 10], 
      "3": [11, 12, 13] 
      }, 
     "name": "Dana" 
     } 
    }, 

を、私は、キーのいずれかに保存された属性の配列に値を追加しますitems_list。

特定の例:「3」になるように、項目「3」に番号「14」を追加する:[11,12,13,14]。

全体を書き直すことなく、配列に単一の値を追加する方法はありますか?キーに関連付けられた配列の値を取得し、新しい値を追加して全体をプッシュバックする必要があるようですが、これを行うための簡単な方法があるかどうかを確認したいと考えていました。ありがとう!

答えて

2

アイテムをアレイに追加するには、そのアレイ内にすでにいくつあるアイテムがあるかを知る必要があります。

Firebaseコレクションに含まれるアイテムの数を知るには、それらのアイテムをダウンロードする必要があります(または、別のカウンタを保持する必要がありますが、今は無視します)。

これは、Firebase documentation recommends against using an array to store collections of dataの理由の1つです。

recommended solution is to use a so-called "push id"は、電話ref.push() in the Firebase JavaScript SDKで生成される非常に長い潜在的な見た目の値です。

{ 
    "messages": { 
     "-JhLeOlGIEjaIOFHR0xd": "Hello there!", 
     "-JhQ76OEK_848CkIFhAq": "Push IDs are pretty magical.", 
     "-JhQ7APk0UtyRTFO9-TS": "Look a white rabbit!" 
    } 
} 

これらのプッシュIDの詳細については、this blog postを参照してください。

関連する問題