将数组数据存储在firebase中,以及如何生成ID

时间:2015-08-11 21:55:29

标签: angularjs firebase

我的firebase数据中有一组对象,它们下面都有一个数组。当我创建初始对象时,我创建了初始数组,其第一个对象带有一行代码,如下所示:

    ref.child('items').set([{firstobject: id123}])

这似乎将id设置为零,作为数组中的第一项。但是当我稍后尝试使用这行代码将一个新项目推送到数组时,我得到一个更复杂的id(ZwPiVMIrzbSdvfwxkts)。

    ref.child('items').push(someNewObject);

1 个答案:

答案 0 :(得分:0)

在第一行代码中,您正在调用Firebase.set()方法,将包含单个对象的JavaScript数组传递给它。

在第二行代码中,您使用对象调用Firebase.push()方法。

鉴于Firebase列表/集合与JavaScript数组不同,您最终会出现不匹配。

与JavaScript数组不同,Firebase的列表经过精心设计,可在高度并发的多用户场景中进行扩展。我建议从一开始就使用它们而不是数组。

ref.child('items').push({firstobject: id123});
ref.child('items').push(someNewObject);

使用此代码段,您的所有商品都将存储在所谓的推送ID中。