AL-*_*AL- 4 firebase-console google-cloud-firestore
我是 Firestore 的新手,所以我有一个 Profiles 和 Users 集合。在 Cloud Firestore 控制台中,当我单击数据库 > Firestore > 数据选项卡 > 配置文件或 > 用户时,控制台正在读取每个集合中的所有文档。这些读取在“使用”选项卡中进行计数。所以我的问题是,如果我在 Profiles 集合中有 500K 个文档并单击 Data,我将被收取阅读 500K 文档的费用,只是为了查看前 25 个文档。只需单击“数据”选项卡,控制台就会读取第一个集合的所有文档。
我尝试使用过滤器,但要使用它,您必须先单击集合并阅读所有文档,然后才能编辑过滤器。
这是它的工作方式还是我的误解?
Dep*_*thi 12
不久前我遇到了同样的困惑,在深入研究这个问题后,我了解到在 Firestore 页面的“数据”选项卡中加载的所有数据确实计入了 Firestore 的整体使用情况。
但是,我与您的问题相同,因此我联系了 Firebase 支持。他们回复确认了我的第一直觉(“数据”选项卡中的文档读取确实很重要)但最初它只读取任何选定集合的前 300 个文档,因此即使您的集合有超过 100 万个文档,它仍然只会加载前 300 个文件。
他们提出了一种解决方法,直到 Firebase 团队找到一个合法的解决方案
所以我的问题是,如果我在 Profiles 集合中有 500K 文档并单击 Data,我将因阅读 500K 文档而付费
绝对不!您只需对查询之外的文档进行读取操作。我不知道第一个查询被限制的确切数量,但数据以较小的块加载,换句话说,实现了分页系统。因此,一旦向下滚动,就会加载其他元素,依此类推。
如果您打算创建一个使用 Firestore 作为后端的应用程序,另请注意,离线持久性:
对于 Android 和 iOS,默认启用离线持久性。
对于 Web,默认情况下禁用脱机持久性。要启用持久性,请调用该
enablePersistence方法。
- 对于 Web,脱机持久性是一项实验性功能,仅受 Chrome、Safari 和 Firefox Web 浏览器支持。此外,如果用户打开多个指向同一 Cloud Firestore 数据库的浏览器选项卡,并且启用了离线持久性,则 Cloud Firestore 将仅在第一个选项卡中正常工作。
这意味着,一旦您从 Firebase 服务器获取文档,就不会再被记录,因为结果来自本地缓存。
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |