Firebase 离子1.x+火基-无法处理阵列

Firebase 离子1.x+火基-无法处理阵列,firebase,ionic-framework,firebase-realtime-database,Firebase,Ionic Framework,Firebase Realtime Database,在我的应用程序中,我在用户注册时创建一个默认数据数组,并使用服务以以下方式将其添加到该用户id下: function addDefaultData(){ var defCategories = ['','data1', 'data2', 'data3', 'data4']; var updates =

在我的应用程序中,我在用户注册时创建一个默认数据数组,并使用服务以以下方式将其添加到该用户id下:

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);
    }
}
注册后,用户可以更改此数组,一次添加或删除单个项。我读书,但那对我没有帮助。以下是firebase db中数据的外观:

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

如何操作此数组?删除或添加新项目?

Firebase团队认为阵列是邪恶的,请参见:

在同一篇文章中,他们指出:Firebase对数组没有本机支持。如果存储一个数组,它实际上会被存储为一个“对象”,以整数作为键名

我已经阅读了上面的博客,并相应地调整了与Firebase互动的期望和方法


在您的情况下,如果要删除类别的索引0,实际上是在删除类别文档的键0。

请发布您的代码。他们的文档中没有关于数组的内容,因此我发布了如何保存数组。