我正在尝试遍历Firestore中给定集合的节点,但似乎不起作用。我是Java语言的新手,所以我对数据的结构不太清楚。
以下代码是我的尝试。我失败了,因为它出现了一个错误,告诉我forEach()
函数未定义。但是,这对我来说没有意义。 This documentation显示get函数的返回为Promise<QuerySnapshot>
。在序列上,this doc显示了QuerySnapshot对象的方法,并显示了forEach
方法。
var myarray = firebase.firestore().collection('cards').get();
myarray.forEach( k => {
console.log(k)
});
我来这里寻求帮助。有人可以向我解释为什么给定对象不存在forEach方法,如何在cards
集合的子节点上进行迭代,以便检查其属性?
答案 0 :(得分:3)
firebase.firestore().collection('cards').get().then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.data());
});
});
then()方法返回一个Promise。基本上,您需要等到从Firebase返回数据后才能访问和使用它。然后,您只需要遍历从promise返回的快照。
答案 1 :(得分:0)
尝试进行console.log(firebase.firestore()。collection('cards')。get());
它看起来可能是null或其他名称,但显然不是数组,否则.forEach()方法应该可以工作,
这样做时可以看到:
var myarray = [1,2];
myarray.forEach( k => {
console.log(k)
});