Javascript 如何访问子节点Firestore--未定义forEach函数

Javascript 如何访问子节点Firestore--未定义forEach函数,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我试图在Firestore中迭代给定集合的节点,但它似乎不起作用。我是Javascript新手,所以数据结构对我来说不是很清楚 以下代码是我的尝试。我失败了,因为出现了一个错误,告诉我没有定义forEach()函数。然而,这对我来说毫无意义。显示get函数的返回是Promise。在序列上,显示QuerySnapshot对象的方法,并显示forEach方法 var myarray = firebase.firestore().collection('cards').get(); myarr

我试图在Firestore中迭代给定集合的节点,但它似乎不起作用。我是Javascript新手,所以数据结构对我来说不是很清楚

以下代码是我的尝试。我失败了,因为出现了一个错误,告诉我没有定义
forEach()
函数。然而,这对我来说毫无意义。显示get函数的返回是
Promise
。在序列上,显示QuerySnapshot对象的方法,并显示
forEach
方法

 var myarray = firebase.firestore().collection('cards').get();  
 myarray.forEach( k => {
    console.log(k)
 });
我来这里寻求帮助。有人能解释一下为什么forEach方法对于给定对象不存在,以及我如何迭代
cards
集合上的子节点,以便检查它们的属性吗

尝试console.log(firebase.firestore().collection('cards').get())

看起来,它可能是null或其他内容,但显然不是数组,否则.forEach()方法应该可以工作

正如您在执行此操作时所看到的:

    var myarray = [1,2];  
 myarray.forEach( k => {
    console.log(k)
 });


then()方法返回一个承诺。基本上,您需要等到数据从firebase返回后才能访问和使用它。然后您只需要循环从承诺返回的快照。

如果它返回承诺,
forEach
将不存在,可能会有所帮助
firebase.firestore().collection('cards').get().then(snapshot => {

    snapshot.forEach(doc => {
        console.log(doc.data());
    });

});