javascript - 当收集有大数据 ~ 6K 文档时,Firestore 创建查询需要很长时间
问题描述
我正在使用 Firestore 并将我的数据保存到各种集合中。但是其中 1 个集合有 appx 6.2k 个文档,执行创建查询大约需要 2-5 分钟。而其他文档较少的集合则需要不到 10 秒的时间。
我正在使用带有 JS 的 Firestore。已经尝试过 .set 和 .add 方法,但这需要时间。
使用类似:
firestore.collection("feeds").add({
title: "Holiday Celeberation",
country: "India"
})
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});
解决方案
当收集有大数据 ~ 6K 文档时,Firestore 创建查询需要很长时间
Firestore 中的所有内容都与查询返回的文档数量有关。既然您说您正在尝试阅读约 6K 文档,那确实是预期的行为。
Firestore 中的查询性能取决于您请求的文档数量,而不是您搜索的文档数量。无论您是在 1000 个文档的集合中搜索 10 个文档,还是在包含 100 个 MIL 文档的集合中搜索,响应时间总是相同的。但是,下载大约 6K 文档的整个集合确实是个坏主意。除了需要这么长时间之外,没有人会对如此大量的数据感兴趣。我也很惊讶您没有收到内存不足错误。
因此,您拥有的解决方案是以较小的块下载该数据。这种技术称为分页。因此,您应该始终限制您获得的数据,并尝试仅显示适合可见空间的数据。
推荐阅读
- c++ - 使用友元声明继承私有 CRTP 构造函数
- vba - 进一步应用修改后刷新 Outlook mailitem.display
- reactjs - 如何在反应中将变量放在引号内
- assembly - BIOS。LBA 模式读取不读取扇区
- ios - iOS 12 不支持部分 PWA 的离线功能
- ubuntu - neo4j 控制台无法启动。错误:JAVA_HOME 定义不正确
- android - 在不知道以前的密钥库的情况下安装 apk
- android - 如何在 AndroidStudio 中配置 Kotlin 的自动完成设置?
- c - 排序数组C程序
- php - 如何执行“如果 div 类为 0,则从 1 开始追加”