获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

使用和限制

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

使用本指南了解 Cloud Firestore 限制,并参阅Cloud Firestore 定价以获取有关 Cloud Firestore 费用的完整详细说明,包括注意事项。

监控您的使用情况

要监控您的 Cloud Firestore 使用情况,请在 Firebase 控制台中打开 Cloud Firestore使用情况标签。使用仪表板来衡量您在不同时间段内的使用情况。

Google Cloud Console 中的详细使用情况

创建 Firebase 项目时,您也在创建 Google Cloud 项目。 Google Cloud Console 中的Cloud Firestore API 配额App Engine 配额页面跟踪 Cloud Firestore 使用情况和配额信息。

免费配额

Cloud Firestore 提供免费配额,让您可以免费开始使用。免费配额金额如下所列。如果您需要更多配额,则必须为您的 Cloud Platform 项目启用计费

配额每天应用,并在太平洋时间午夜前后重置。

免费套餐配额
存储数据1 GiB
文件读取每天 50,000 个
文件写入每天 20,000 个
文档删除每天 20,000 个
网络出口每月 10 GiB

标准限制

下表显示了适用于 Cloud Firestore 的限制。除非另有说明,否则这些都是硬性限制。

集合、文档和字段

限制细节
集合 ID 的约束
  • 必须是有效的 UTF-8 字符
  • 不得超过 1,500 字节
  • 不能包含正斜杠 ( / )
  • 不能仅由单句点 ( . ) 或双句点 ( .. ) 组成
  • 无法匹配正则表达式__.*__
子集合的最大深度100
文档 ID 的约束
  • 必须是有效的 UTF-8 字符
  • 不得超过 1,500 字节
  • 不能包含正斜杠 ( / )
  • 不能仅由单句点 ( . ) 或双句点 ( .. ) 组成
  • 无法匹配正则表达式__.*__
  • 如果您将 Datastore 实体导入 Firestore 数据库,数字实体 ID 将显示为__id[0-9]+__
文档名称的最大大小6 千字节
文档的最大尺寸1 MiB(1,048,576 字节)
字段名称的约束必须是有效的 UTF-8 字符
字段名称的最大大小1,500 字节
字段路径的约束
  • 必须用单个句点 ( . ) 分隔字段名称
  • 当路径中的所有字段名称都很简单时,可以作为字符串传递,否则必须作为 FieldPath 对象传递(例如 JavaScript FieldPath
一个简单的字段名称是满足以下所有条件的名称:
  • 仅包含字符azAZ0-9和下划线 ( _ )
  • 不以0-9开头
字段路径的最大大小1,500 字节
字段值的最大大小1 MiB - 89 字节(1,048,487 字节)
地图或数组中的最大字段深度20

写入和事务

限制细节
最大 API 请求大小10 兆字节
可以传递给Commit操作或在事务中执行的最大写入数500
Commit操作或事务中可以对单个文档执行的最大字段转换数500
交易时间限制270 秒,有 60 秒的空闲过期时间

软限制

Cloud Firestore 不会阻止您超过以下阈值,但这样做会影响性能。

软限制细节
文档在索引字段中包含顺序值的集合的最大写入速率每秒 500 个

索引

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

限制细节
数据库的最大复合索引数200
一个数据库的最大单字段配置数

200

总共允许 200 种现场级配置。一个字段配置可以包含同一字段的多个配置。例如,对同一字段的单字段索引豁免和 TTL 策略计为一个字段配置,以达到限制。

每个文档的最大索引条目数

40,000

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

  • 单字段索引条目数
  • 复合索引条目数

要了解 Cloud Firestore 如何将文档和一组索引转换为索引条目,请参阅此索引条目计数示例

复合索引中的最大字段数100
索引条目的最大大小

7.5 KB

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

文档索引条目大小的最大总和

8 兆字节

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

  • 文档的单字段索引条目大小的总和
  • 文档的复合索引条目大小的总和
  • 索引字段值的最大大小

    1500 字节

    超过 1500 字节的字段值将被截断。涉及截断字段值的查询可能会返回不一致的结果。

    生存时间 (TTL)

    限制细节
    一个数据库的最大单字段配置数

    200

    总共允许 200 种现场级配置。一个字段配置可以包含同一字段的多个配置。例如,对同一字段的单字段索引豁免和 TTL 策略计为一个字段配置,以达到限制。

    出口进口

    以下限制适用于托管导入和导出操作

    限制细节
    每分钟允许的项目导出和导入请求的最大总数20
    最大并发导出和导入数50
    导出和导入请求的集合 ID 过滤器的最大数量100

    安全规则

    限制细节
    每个请求的exists()get()getAfter()调用的最大数量
    • 10 用于单文档请求和查询请求。
    • 20 用于多文档读取、事务和批量写入。之前的 10 个限制也适用于每个操作。

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

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

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

    最大嵌套match语句深度10
    一组嵌套match语句中允许的最大路径长度(以路径段为单位) 100
    一组嵌套match语句中允许的最大路径捕获变量数20
    最大函数调用深度20
    函数参数的最大数量7
    每个函数的最大let变量绑定数10
    递归或循环函数调用的最大数量0(不允许)
    每个请求评估的最大表达式数1,000
    规则集的最大大小规则集必须遵守两个大小限制:
    • 从 Firebase 控制台或使用firebase deploy从 CLI 发布的规则集文本源的大小限制为 256 KB。
    • 当 Firebase 处理源并使其在后端处于活动状态时,编译规则集的大小限制为 250 KB。

    管理支出

    为帮助避免账单上的意外费用,请设置每月预算和警报。

    设置每月预算

    要跟踪您的 Cloud Firestore 费用,请在 Google Cloud Console 中创建每月预算。预算不会限制您的使用,但您可以设置警报以在您接近或超过当月计划成本时通知您。

    要设置预算,请转到 Google Cloud Console 中的结算部分并为您的 Cloud Billing 帐号创建预算。您可以使用默认警报设置或修改警报以按每月预算的不同百分比发送通知。

    了解有关设置预算和预算警报的更多信息。

    设置每日支出限额

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