在React.js中的Firebase中插入数据

时间:2018-08-27 11:42:36

标签: javascript reactjs firebase firebase-realtime-database

在将对象存储到我的Firebase期间,我期望结构如下图所示,但是得到的是生成的运行编号作为键。这是我的代码,用于将对象存储到Firebase

var location = [];
location.push({
  ms_jhr_1 : {
    name: value
  },
  ...
});
const a = firebase.database().ref('Food/'+id);
a.set(location);

Expected structure

如何保持我的结构而不生成运行编号?

1 个答案:

答案 0 :(得分:3)

问题是您正在使用数组存储数据,然后在Firebase中设置该数组。为了获得预期的结果,您必须对代码进行一些修改。

在这里使用它并删除其他代码

const a = firebase.database().ref('Food/'+id);
a.set(ms_jhr_1);

因此,您只需要在该ID而不是整个数组下传递要存储的对象。

注意:-如果要在一个id下存储多个条目,则必须将所有这些条目推入对象而不是数组中。

所以看起来像这样

var location = {};

现在使用for循环将所有数据插入到该对象中(请记住,您是在对象内部添加对象)。您不需要数组。因为在Firebase中,数据是以JSON树格式存储的。

希望有帮助。