我正在制作一个应用程序,它存储用户使用我的应用程序学习了多少分钟。我的 Firestore 数据库以“用户”集合开始,每个用户都有自己的文档,该文档由其在 Auth 中生成的 userID 命名。
我的问题是,如果我读取了他们的 userID 文档,该文档的子集合中有许多文档,这是否算作一次读取,或者是否也计算子集合中的文档数量?
先感谢您。
Torewin 的答案大部分是正确的,但缺少一个重要的细节。它说:
如果您检索文档;在任何地方,它都算作一次阅读
这并不完全正确。缓存文档读取不按读取计费。这是 Firestore 客户端 SDK 的一项重要功能,有助于降低计费成本。如果您使用以下命令获取单个文档来源选项 https://firebase.google.com/docs/firestore/query-data/get-data#source_options缓存(选项为“缓存”或“服务器”或“默认”),则将首先查阅缓存,并且您无需付费即可获取文档。当应用程序离线时,缓存还用于查询结果。
查询结果也是如此。如果文档由于某种原因来自缓存,则不会对该读取进行计费。
我不确定 Torewin 在评论中的意思:“他们建议您进行多次阅读而不是一次大阅读,因为这样可以省钱”。所有读取在计费方面都是相同的“大小”,仅考虑读取本身的成本。文档的大小仅与互联网出口使用的成本有关,对此有定价文档 https://cloud.google.com/firestore/pricing#internet-egress.
值得注意的是,文档不能“包含”其他文档。文档包含在集合或子集合中。这些集合只有一条描述它们居住地点的“路径”。子集合可以在没有“父”文档的情况下存在。当文档不存在,但其下组织有集合时,文档 ID 在控制台中以斜体显示。使用客户端 API 删除文档时,不会删除其任何子集合。在这方面,删除被认为是“浅层”的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)