Vai alla console

使用量和限制

您可以使用本指南了解 Cloud Firestore 限制。如需了解 Cloud Firestore 费用的完整详细说明(包括需要注意的事项),请参阅 Cloud Firestore 价格

监控您的使用量

如需监控 Cloud Firestore 使用量,请在 Firebase 控制台中打开 Cloud Firestore 使用量标签。您可以使用信息中心测量您在不同时间段的使用量。

Google Cloud Platform Console 中的详细使用情况

您在创建 Firebase 项目时,也同时在 Google Cloud Platform 中创建了一个项目。Cloud Platform Console 中的 App Engine 配额页面会跟踪其他 Cloud Firestore 使用量信息,如存储的数据和网络出站流量。

免费配额

Cloud Firestore 提供了一定的免费配额,可让您免费开始使用。免费配额数量如下所示。如果您需要更多配额,则必须为 Cloud Platform 项目启用结算功能

配额按日计算,并会在美国太平洋时间零点重置。

免费方案 配额
数据存储 1 GiB
文档读取 每天 50000 次
文档写入 每天 20000 次
文档删除 每天 20000 次
网络出站流量 每月 10 GiB

标准限制

以下几个表格显示了适用于 Cloud Firestore 使用量的限制。

集合、文档和字段

限制 详细信息
对于集合 ID 的限制
  • 必须是有效的 UTF-8 字符
  • 长度不能超过 1500 字节
  • 不能包含正斜杠 (/)
  • 不能只包含单个英文句点 (.) 或双重英文句点 (..)
  • 不得匹配正则表达式 __.*__
子集合的最大深度 100
对于文档 ID 的限制
  • 必须是有效的 UTF-8 字符
  • 长度不能超过 1500 字节
  • 不能包含正斜杠 (/)
  • 不能只包含单个英文句点 (.) 或双重英文句点 (..)
  • 不得匹配正则表达式 __.*__
文档名称的大小上限 6 KiB
文档的大小上限 1 MiB(1048576 字节)
对于字段名称的限制 必须是有效的 UTF-8 字符
字段名称的大小上限 1500 字节
对于字段路径的限制
  • 必须使用单个英文句点 (.) 来分隔字段名称
  • 除非字段名称满足以下要求,否则必须将每个字段名称都用反引号括起来:
    • 字段名称仅包含字符 a-zA-Z0-9 和下划线 (_)
    • 字段名称不以 0-9 开头
字段路径的大小上限 1500 字节
字段值的大小上限 1 MiB - 89 字节(1048487 字节)
映射或数组中字段的最大深度 20

写入和事务

限制 详细信息
API 请求的大小上限 10 MiB
每个数据库的每秒最大写入次数 10000(每秒最多 10 MiB)
文档的最大写入速率 每秒 1 次
其文档中某索引字段包含连续值的集合的最大写入速率 每秒 500 次
可以传递给 Commit 操作或可在事务中执行的最大写入次数 500
在一次 Commit 操作或一个事务中,可以对单个文档执行字段转换的最大次数 500
事务的时间限制 270 秒,以及 60 秒的空闲状态过期时间

实时更新

限制 详细信息
每个数据库的移动/Web 客户端的最大并发连接数 100 万

索引

以下限制适用于单字段索引复合索引

限制 详细信息
一个数据库的复合索引数量上限 200
一个数据库的单字段索引例外项的数量上限 200

每个文档的索引条目数量上限

40000

索引条目的数量是文档的以下各项数量的总和:

  • 单字段索引条目的数量
  • 复合索引条目的数量
索引条目的大小上限

7.5 KiB

要了解 Cloud Firestore 如何计算索引条目大小,请参阅索引条目大小

一个文档的索引条目的大小总和上限

8 MiB

总大小是文档的以下各项的大小总和:

  • 一个文档的单字段索引条目的大小总和
  • 一个文档的复合索引条目的大小总和
  • 编入索引的字段值的大小上限

    1500 字节

    超出 1500 字节的字段值会被截断。包含被截断的字段值的查询可能会返回不一致的结果。

    安全规则

    限制 详细信息
    每个请求调用 exists()get()getAfter() 的最大次数
    • 10 表示单文档请求和查询请求。
    • 20 表示多文档读取、处理和批量写入。之前 10 的限制也适用于每个操作。

      例如,假设您创建了一个包含 3 个写入操作的批量写入请求,并且您的安全规则使用 2 个文档访问调用来验证每个写入操作。在这种情况下,每次写入操作使用 10 个访问调用中的 2 个,并且批量写入请求使用 20 个访问调用中的 6 个。

    超过任一限制都会导致权限被拒绝的错误。

    某些文档访问调用可能会被缓存,并且缓存的调用不会计入限制。

    函数调用深度上限 20
    递归或循环函数调用次数上限 0(不允许)
    每个请求计算出的最大表达式数 1,000
    规则集的大小上限 64 KB

    管理支出

    为了避免您的帐单上出现预料之外的费用,您可以设置支出限额和提醒。

    设置每日支出限额

    如需为您的 Cloud Firestore 使用量设置上限,您可以通过 Google App Engine 设置每日支出限额。App Engine 允许您为 App Engine 相关资源(包括 Cloud Firestore)设置每日支出限额。App Engine 限额不适用于任何其他 Firebase 产品。

    1. 如果您还没有在 Cloud Platform Console 中为您的项目启用结算功能,请先启用。
    2. 转到 Cloud Platform Console 中的 App Engine 应用设置页面。
    3. 点击修改并设置一个每日支出限额。
    4. 点击保存。新的限额将立即生效,并且每天都会恢复额度。

    设置每月预算

    要跟踪您的 Cloud Firestore 费用,您可以在 Cloud Platform Console 中创建每月预算。预算并不会限制您的使用量,但您可以设置提醒,以便在您接近或超过当月计划的费用时收到通知。

    要设置预算,请转到 Cloud Platform Console 中的结算部分,然后为您的结算帐号创建预算。您可以使用默认的提醒设置,也可以将提醒修改为在达到每月预算的各种百分比时发送通知。

    详细了解如何在 Cloud Platform Console 中设置预算