- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在制作一个应用程序,它可以存储用户使用我的应用程序学习了多少分钟。我的 Firestore 数据库以“用户”集合开头,每个用户都有自己的文档,该文档由 Auth 中生成的用户 ID 命名。
我的问题是,如果我阅读了他们的 userID 文档,该文档在其子集合中有很多文档,那么这算作一次阅读还是也算作子集合中的文档数量?
提前致谢。
最佳答案
Torewin 的回答大部分是正确的,但缺少一个重要细节。它说:
if you retrieve a document; anywhere, it counts as a read
这并不完全正确。缓存文档读取不按读取计费。这是 Firestore 客户端 SDK 的一项重要功能,有助于降低计费成本。如果您使用 source option 获取单个文档cache(选项为“cache”或“server”或“default”),那么会先查询缓存,获取文档不计费。缓存还用于应用离线时的查询结果。
查询结果也是如此。如果文档出于某种原因来自缓存,则不会为该读取付费。
我不确定 Torewin 在评论中的意思是:“他们建议您进行多次读取而不是一次大读取,因为这样可以省钱”。所有读取在计费方面都是相同的“大小”,仅考虑读取本身的成本。文档的大小仅与互联网导出使用成本有关,为此有 documentation on pricing .
值得注意的是,文档不能“包含”其他文档。文档包含在集合或子集合中。这些集合只有一条描述它们居住地的“路径”。子集合可以在没有“父”文档的情况下存在。当文档不存在,但在其下组织了一个集合时,文档 ID 在控制台中以斜体显示。当您使用客户端 API 删除文档时,不会删除其任何子集合。在这方面,删除被称为“浅层”。
关于ios - 读取包含子集合的文档的 Firestore 计费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54191680/
我以前使用过像 Netbeans 和 eclipse 这样的 IDE。 我在 friend 的电脑上下载了“Visual Studio Express 2013 for windows desktop
我正在尝试弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的事情。 如果我选择一个 block 并对其进
Filter1=re.findall(r'',PageSource) Filter2=re.findall(r'',PageSource) Filter3=re.findall(r'(.*?).*?'
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我是一名优秀的程序员,十分优秀!