Firebase is back at Google I/O on May 10! Register now

存儲大小計算

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

本頁面介紹 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"

對於具有索引donepriority字段(均升序)的集合範圍的複合索引,該索引中條目的總大小為 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"

對於一個集合組作用域為donepriority字段(均為升序)的複合索引,該索引中索引條目的總大小為 85 字節:

  • 文檔名稱users/jeff/tasks/my_task_id的 44 個字節
  • 1 個字節用於布爾字段值
  • 8 個字節用於整數字段值
  • 32 個附加字節

下一步是什麼

了解Cloud Firestore 定價