firebase - Google Firestore - 是否存在小型操作?
问题描述
我正在为一个新项目评估不同的云数据库。我过去使用过 Google Cloud Datastore,但现在 Google 似乎建议我使用名为 Firestore 的较新版本。在过去使用 Datastore 时,我能够执行“小型操作”,这些操作被定义为:
- 调用分配 ID。
- 仅键查询。仅键查询被计为为查询本身读取的单个实体。单个结果被计为小操作。
- 不使用 distinct on 子句的投影查询。这种类型的查询被计为为查询本身读取的单个实体。单个结果算作小操作
例如,如果我有 1000 篇博文,而我只需要检索每篇博文的标题,我可以以 1 次阅读为代价进行投影查询。使用较新的 Firestore,我在文档中看不到此功能。这意味着我现在将花费 1000 次读取来执行相同的操作。这个功能是否仍然存在,或者它只是不是文档?在过去,我还使用投影查询来进行投票聚合等事情,所以这是我想在许多应用程序中非常流行的功能。
解决方案
Firestore 中没有“小型操作”这样的计费功能。对于查询,文档要么被读取,要么被读取。您需要为读取并返回给客户端的文档数量付费,最低成本为 1。移动和 Web 客户端没有预测 - 要么读取整个文档,要么根本不读取。服务器 SDK 有一些预测,但它们仍然需要完整阅读。
推荐阅读
- python - 错误:在 VS Code 中选择 python 解释器时产生 ENOTDIR
- python-3.x - 烧瓶网络服务器如何使用本地域而不是ip访问页面
- c# - 第 24 行:XML 语法错误。在 console.exe 正在运行
- command-line - 命令行 ffmpeg,将 mp3 音频的一部分插入另一个文件
- linux - Bash - 获取用户输入的目录
- kubernetes - 由于记录的限制,我会在 Kubernetes 中同时运行我的 CronJob
- sql - Postgres 获取具有相同列值的行
- c# - 如何检查 EntityEntry 是否派生自 BaseEntity
在 C# 中 - python - 在 python 字典中推送数据的更好方法
- java - Java Kryo - 向后兼容性问题和严格的序列化/反序列化过程