在将对象存储到我的Firebase期间,我期望结构如下图所示,但是得到的是生成的运行编号作为键。这是我的代码,用于将对象存储到Firebase
var location = [];
location.push({
ms_jhr_1 : {
name: value
},
...
});
const a = firebase.database().ref('Food/'+id);
a.set(location);
如何保持我的结构而不生成运行编号?
答案 0 :(得分:3)
问题是您正在使用数组存储数据,然后在Firebase中设置该数组。为了获得预期的结果,您必须对代码进行一些修改。
在这里使用它并删除其他代码
const a = firebase.database().ref('Food/'+id);
a.set(ms_jhr_1);
因此,您只需要在该ID而不是整个数组下传递要存储的对象。
注意:-如果要在一个id下存储多个条目,则必须将所有这些条目推入对象而不是数组中。
所以看起来像这样
var location = {};
现在使用for循环将所有数据插入到该对象中(请记住,您是在对象内部添加对象)。您不需要数组。因为在Firebase中,数据是以JSON树格式存储的。
希望有帮助。