本页面介绍 Cloud Firestore 中文档的存储大小、文档名称、字段和索引条目。
您可以在Cloud Firestore 定价中了解此存储的成本。字符串大小
字符串大小计算为UTF-8 编码字节数 + 1。
以下内容存储为字符串:
- 集合 ID
- 字符串文档 ID
- 文档名称
- 字段名称
- 字符串字段值
例如:
- 集合 ID
tasks
使用 5 个字节 + 1 个字节,总共 6 个字节。 - 字段名
description
使用11字节+1字节,共12字节。
文档 ID 大小
文档 ID 的大小是字符串 ID 的字符串大小或整数 ID 的 8 字节。
文档名称大小
文档名称的大小是以下各项的总和:
- 文档路径中每个集合ID和文档ID的大小
- 16 个附加字节
对于子集合users/jeff/tasks
中字符串文档 ID 为my_task_id
的文档,文档名称大小为 6 + 5 + 6 + 11 + 16 = 44 字节:
- 6 个字节用于
users
集合 ID - 5 个字节用于
jeff
文档 ID - 6 个字节用于
tasks
集合 ID - 11 个字节用于
my_task_id
文档 ID - 16 个附加字节
字段值大小
下表按类型显示字段值的大小。
类型 | 尺寸 |
---|---|
大批 | 其值大小的总和 |
布尔值 | 1字节 |
字节 | 字节长度 |
日期和时间 | 8字节 |
浮点数 | 8字节 |
地理位置 | 16字节 |
整数 | 8字节 |
地图 | 地图的大小,计算方式与文档大小相同 |
无效的 | 1字节 |
参考 | 文档名称大小 |
文本字符串 | UTF-8 编码字节数 + 1 |
例如,名为done
的布尔字段将使用 6 个字节:
-
done
字段名称的 5 个字节 - 1 个字节用于布尔值
文档尺寸
文档的大小是以下各项的总和:
此示例适用于子集合users/jeff/tasks
中的文档,其字符串文档 ID 为my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
字段的总大小为 71 字节:
字段名称和值 | 字段大小(以字节为单位) |
---|---|
"type": "Personal" | 14 5 为字段名 + 9 为字段的字符串值 |
"done": false | 6个 5 为字段名 + 1 为字段的布尔值 |
"priority": 1 | 17 9 为字段名 + 8 为字段的整数值 |
"description": "Learn Cloud Firestore" | 34 12 为字段名 + 22 为字段的字符串值 |
所以文档大小是 44 + 71 + 32 = 147 字节:
- 文档名称 44 个字节
- 字段 71 个字节
- 32 个附加字节
索引条目大小
对于单字段索引和复合索引,索引条目大小的计算方式如下。
单字段索引条目大小
单字段索引条目的大小取决于索引的范围是集合还是集合组。
收集范围
具有集合范围的单字段索引中条目的大小是以下各项的总和:
考虑子集合users/jeff/tasks
中的文档,其字符串文档 ID 为my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
对于索引done
字段的集合范围的单字段索引,该索引中条目的总大小为 109 字节:
- 文档名称
users/jeff/tasks/my_task_id
的 44 个字节 - 父文档的文档名称
users/jeff
的 27 个字节 done
字段名称的 5 个字节- 1 个字节用于布尔字段值
- 32 个附加字节
集合组范围
具有集合组范围的单字段索引中条目的大小是以下各项的总和:
考虑子集合users/jeff/tasks
中的文档,其字符串文档 ID 为my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
对于索引done
字段的集合组范围的单字段索引,该索引中条目的总大小为 98 字节:
- 文档名称
users/jeff/tasks/my_task_id
的 44 个字节 done
字段名称的 5 个字节- 1 个字节用于布尔字段值
- 48 个附加字节
复合索引条目大小
复合索引中条目的大小取决于索引的范围是集合还是集合组。
收集范围
具有集合范围的复合索引中索引条目的大小是以下各项的总和:
考虑子集合users/jeff/tasks
中的文档,其字符串文档 ID 为my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
对于具有索引done
和priority
字段(均升序)的集合范围的复合索引,该索引中条目的总大小为 112 字节:
- 文档名称
users/jeff/tasks/my_task_id
的 44 个字节 - 父文档的文档名称
users/jeff
的 27 个字节 - 1 个字节用于布尔字段值
- 8 个字节用于整数字段值
- 32 个附加字节
集合组范围
具有集合组范围的复合索引中索引条目的大小是以下各项的总和:
考虑子集合users/jeff/tasks
中的文档,其字符串文档 ID 为my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
对于一个集合组作用域为done
和priority
字段(均为升序)的复合索引,该索引中索引条目的总大小为 85 字节:
- 文档名称
users/jeff/tasks/my_task_id
的 44 个字节 - 1 个字节用于布尔字段值
- 8 个字节用于整数字段值
- 32 个附加字节