本页面介绍了以原生模式运行的 Cloud Firestore 的请求配额和企业版限制。
免费层级使用量
原生模式的 Cloud Firestore 提供免费层级,让您可以免费开始使用原生模式的 Cloud Firestore。下表列出了免费层级用量。
免费层级用量按日计算,并在美国太平洋时间零点重置。
对于免费层级,每个项目只能有一个 Cloud Firestore 数据库。在没有免费层级数据库的项目中创建的第一个数据库会获得免费层级。如果删除了应用免费层级的数据库,则下一个创建的数据库会获得免费层级。
| 免费层级 | 配额 |
|---|---|
| 数据存储 | 1 GiB |
| 读取单位 | 每天 50000 次 |
| 实时更新单位 | 每天 50000 次 |
| 写入单位 | 每天 40,000 次 |
| 出站数据传输 | 每月 10 GiB |
标准限制
下表显示了适用于原生模式 Cloud Firestore 的限额。除非另有说明,否则这些属于硬性限额。
数据库
| 限制 | 详细信息 |
|---|---|
| 每个项目的数据库数上限 |
100 您可以与支持团队联系,申请提高此限制。 |
| 每个项目的客户管理的加密密钥 (CMEK) 数据库数量上限 |
0 默认情况下,配额为 0,因为此功能仅限许可名单上的用户使用。您可以填写 CMEK 访问申请表单来申请增加配额。 |
集合、文档和字段
| 限制 | 详情 |
|---|---|
| 对于集合 ID 的限制 |
|
| 子集合的最大深度 | 100 |
| 对于文档 ID 的限制 |
|
| 文档名称的大小上限 | 6 KiB |
| 文档的大小上限 | 1 MiB(1048576 字节) |
| 对于字段名称的限制 |
|
| 字段名称的大小上限 | 1500 字节 |
| 对于字段路径的限制 |
`) 开头和结尾。例如,foo.`x&y` 是指嵌套在 foo 字段下的 x&y 字段。要使用反引号字符构造字段名称,请使用反斜杠字符 (\) 转义反引号字符。为方便起见,您可以将字段路径作为 FieldPath 对象进行传递以避免使用引号的字段名称(如需查看示例,请参阅 JavaScript FieldPath)。 |
| 字段路径的大小上限 | 1500 字节 |
| 字段值的大小上限 | 1 MiB - 89 字节(1048487 字节) |
| 映射 (map) 或数组中字段的最大深度 | 20 映射和数组字段会向对象的总深度额外添加一层深度。例如,以下对象的总深度为三层: |
写入和事务
| 限制 | 详细信息 |
|---|---|
| API 请求的大小上限 | 10 MiB |
| 事务的时间限制 | 270 秒,并具有 60 秒的空闲到期时间 |
在一项 Commit 操作或一项事务中,可以对单个文档执行的字段转换操作最大数量 |
500 |
索引
| 限制 | 详细信息 |
|---|---|
| 数据库的索引数量上限 |
|
|
每个文档的索引条目数量上限 |
40000 |
| 索引中的字段数上限 | 100 |
| 索引条目的大小上限 |
7.5 KiB |
| 一个文档的索引条目的大小总和上限 |
8 MiB |
存留时间 (TTL)
| 限制 | 详情 |
|---|---|
| 数据库单字段配置的数量上限 |
一个字段级配置可以包含同一字段的多个配置。例如,单字段索引例外项和针对同一字段的 TTL 政策将被视为一个字段配置计入限额。 |
导出/导入
以下限制适用于代管式导入和导出操作:
| 限制 | 详情 |
|---|---|
| 一个项目每分钟允许的导出和导入请求总数上限 | 20 |
| 并发导出和导入的数量上限 | 50 |
| 导出和导入请求的集合 ID 过滤条件的数量上限 | 100 |
安全规则
| 限制 | 详细信息 |
|---|---|
每个请求调用 exists()、get()、getAfter() 的最大次数 |
超过任一限制都会导致权限被拒绝的错误。 某些文档访问调用可能会被缓存,缓存的调用不会计入限额。 |
嵌套 match 语句深度上限 |
10 |
在路径段中,可在一组嵌套 match 语句中使用的路径长度上限 |
100 |
可在一组嵌套 match 语句中使用的路径捕获变量数上限 |
20 |
| 函数调用深度上限 | 20 |
| 函数参数的数量上限 | 7 |
每个函数的 let 变量绑定数上限 |
10 |
| 递归或循环函数调用次数上限 | 0(不允许) |
| 每个请求中评估的表达式数量上限 | 1000 |
| 规则集的大小上限 | 规则集必须符合以下两种大小限制:
|