从Firestore遍历数组

时间:2018-07-25 12:23:00

标签: javascript angular firebase google-cloud-firestore

我正在尝试遍历从Cloud Firestore检索到的数组。该数组是集合“ arbeidsokter”中文档中的一个字段。要检索数据,我使用以下代码。

this.afd.collection<Items>('arbeidsokter').doc(this.planNext[0]["ID"])
      .valueChanges()
      .forEach((data) => oldTimestamps.push(data["Stempletider"]));

console.log(oldTimestamps);

这给了我一个数组,但是它的长度为零,即使看起来像已经将时间戳推入了该数组了(see screenshot)。如何访问数组中的时间戳?

编辑Image of the document

EDIT2: Screenshot of code

2 个答案:

答案 0 :(得分:0)

Object.values(Stempletider).map((item) => console.log(item));

将帮助您循环播放。

答案 1 :(得分:0)

也许您在输入数据之前先打印数据?价值变化是同步的吗?

至少在具有firestore的Vanilla JS中,get()返回一个promise,因此尝试在下一行代码中访问数据(不在Promise中。then()内)将返回一个空对象。

似乎要获得期望的结果,您需要在forEach中打印该对象或对其中的数据进行处理。