我的firebase数据中有一组对象,它们下面都有一个数组。当我创建初始对象时,我创建了初始数组,其第一个对象带有一行代码,如下所示:
ref.child('items').set([{firstobject: id123}])
这似乎将id设置为零,作为数组中的第一项。但是当我稍后尝试使用这行代码将一个新项目推送到数组时,我得到一个更复杂的id(ZwPiVMIrzbSdvfwxkts)。
ref.child('items').push(someNewObject);
答案 0 :(得分:0)
在第一行代码中,您正在调用Firebase.set()
方法,将包含单个对象的JavaScript数组传递给它。
在第二行代码中,您使用对象调用Firebase.push()
方法。
鉴于Firebase列表/集合与JavaScript数组不同,您最终会出现不匹配。
与JavaScript数组不同,Firebase的列表经过精心设计,可在高度并发的多用户场景中进行扩展。我建议从一开始就使用它们而不是数组。
ref.child('items').push({firstobject: id123});
ref.child('items').push(someNewObject);
使用此代码段,您的所有商品都将存储在所谓的推送ID中。