javascript - 如何访问子节点 Firestore——未定义 forEach 函数
问题描述
我正在尝试遍历 Firestore 中给定集合的节点,但它似乎不起作用。我是 Javascript 的新手,所以数据结构对我来说不是很清楚。
以下代码是我的尝试。我失败了,因为它出现了一个错误,告诉我该forEach()
函数未定义。但是,这对我来说没有意义。该文档显示 get 函数的返回是 Promise<QuerySnapshot>
. 在序列上,此文档显示了 QuerySnapshot 对象的方法,并显示了该forEach
方法。
var myarray = firebase.firestore().collection('cards').get();
myarray.forEach( k => {
console.log(k)
});
我来这里寻求帮助。有人可以解释一下为什么给定对象的 forEach 方法不存在,我如何遍历cards
集合上的子节点,以便检查它们的属性?
解决方案
firebase.firestore().collection('cards').get().then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.data());
});
});
then() 方法返回一个 Promise。基本上,您需要等到从 firebase 返回数据后才能访问和使用它。然后你只需要遍历从 promise 返回的快照。
推荐阅读
- performance - 应用程序缓慢 | 服务器上没有 CPU 负载
- python-3.x - 如何长时间(几个月)运行代码(使用 BeautifulSoup 抓取)?
- ios - 将 Cocoa pod 安装到 M1 Mac mini 时出错
- javascript - 由 $watch 触发的单元测试承诺
- python - 机器人不返回语音
- docker - Docker 容器频繁退出,代码退出代码为 250
- nested - 如何在 nuxt.js 中使用 router.push 自动路由到嵌套子级
- java - 尝试使用 printf 格式打印二维数组,每行使用 toString() 方法在自己的行中
- r - 如何更改ggplot2中第二个y轴标签的方向
- python - 如何在 Django 中使用异步视图和 URL?