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

Storing array data in firebase, and how ID's are generated

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

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

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

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

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

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

鉴于 Firebase lists/collections 与 JavaScript 数组不同,您最终会得到不匹配。

与 JavaScript 数组不同,Firebase 列表的架构可以在高度并发的多用户场景中很好地扩展。我建议从一开始就使用它们而不是数组。

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

使用此代码段,您的所有项目都将存储在所谓的推送 ID 下。