【发布时间】:2019-02-15 11:55:56
【问题描述】:
我的数据库有一个部分的集合,每个部分都包含一个子部分的子集合。
这是我需要创建的数组:
[
{
"sectiontitle": "first section",
"sectiontype": "1",
"__id__": "6jwwukHmOs1743yC13vH",
"subsections": [
{
"desc": "blah blah blah",
"__id__": "KTq4MJTEMbDfR33RoX9J"
},
{
"desc": "blah blah blah",
"__id__": "ASFSADFSAFSADFSADFFS"
}
]
},
{
"sectiontitle": "second section",
"sectiontype": "1",
"__id__": "5jwwDHEDOs1743yC13vG",
"subsections": [
{
"desc": "blah blah blah",
"__id__": "DFG4MJTEMbDfR33DDDDD"
},
{
"desc": "blah blah blah",
"__id__": "ASDFGHFSAFSADFSHJFRD"
}
]
}
]
我的代码是:
// get sections
firebase.firestore().collection("sections").get().then((sections) => {
var myarray = [];
var i = 0;
sections.forEach((section) => {
var sectiondata = section.data();
sectiondata.__id__ = section.id
sectiondata.subsections = [];
myarray.push(sectiondata);
//get subsections
firebase.firestore().collection("sections").doc(sectiondata.__id__).collection("subsections").get().then((subsections) => {
subsections.forEach((subsection) => {
var subsectiondata = subsection.data();
subsectiondata.__id__ = subsection.id;
myarray.push('sections.' + i + '.subsections', subsectiondata); // problem is i index is not correct
});
});
i++;
});
});
这个问题是i 索引不正确,因为读取的部分已经完成并在开始读取子部分时循环通过foreach。我不熟悉 Javascript 承诺,所以我希望有人可以帮助我解决这个问题?
基本上,对于每个部分,添加小节。
谢谢。
【问题讨论】:
标签: javascript firebase google-cloud-firestore