2017-05-27 65 views
0

在我的應用我在用戶登記時的數據創建一個默認的陣列,並以下列方式用戶ID下添加它(使用服務):離子的1.x +火力地堡 - 無法處理陣列

function addDefaultData(){ 
     var defCategories = ['','data1', 
          'data2', 
          'data3', 
          'data4']; 
     var updates = {}; 

     updates['/user-data/' + firebase.auth().currentUser.uid + '/' + 'categories'] = defCategories; 
     return firebase.database().ref().update(updates); 
    } 
} 

註冊後,用戶可以更改此數組,每次添加或刪除單個項目。我讀here但這並沒有幫助我。這是數據在firebase db中的外觀:

-appName-fomefirebaseid123 
    -user-data 
    -userID123687FHGJH4546HGJ 
     +5_2017 
     -categories 
     0: "" 
     1: "data1" 
     2: "data2" 
     3: "data3" 
     4: "data4" 

我該如何操縱這個數組?刪除或添加新項目?

+0

請發佈您的代碼。 –

+0

他們的文檔中沒有關於數組的任何內容,所以我發佈瞭如何保存數組。 – undroid

回答

1

Firebase團隊認爲「數組是邪惡的」(請參閱​​:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)。

在同一篇文章中,他們聲明:「Firebase沒有對數組的本機支持,如果你存儲一個數組,它確實被存儲爲一個以整數作爲鍵名的'對象'。

我讀過上面的博客,並調整了我的期望以及與Firebase進行交互的方法。在你的情況下,如果你想刪除索引「0」的類別,你真的刪除類別文檔的關鍵「0」。