Google 致力于为黑人社区推动种族平等。查看具体举措
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

用法和限制

使用本指南可了解Cloud Firestore的限制,並參閱Cloud Firestore定價以獲取有關Cloud Firestore成本(包括需要注意的事項)的完整詳細說明。

監控您的使用情況

要監控您的Cloud Firestore使用情況,請在Firebase控制台中打開“ Cloud Firestore使用情況”選項卡。使用儀表板可以評估您在不同時間段的使用情況。

Google Cloud控制台中的詳細用法

當您創建Firebase項目時,您也在創建Google Cloud項目。 Google Cloud控制台中的“ 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個字節
  • 不能包含正斜杠( /
  • 不能僅包含一個句點( . )或兩個句點( ..
  • 無法匹配正則表達式__.*__
  • 如果您將數據存儲區實體導入到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 MiB
每個數據庫每秒最大寫入數10,000(每秒高達10 MiB)
對文件的最大持續寫入率

1每秒

將寫入速率維持在每秒一次以上會增加延遲並導致爭用錯誤。這不是硬性限制,您可以短暫突破該限制。

集合中文檔在索引字段中包含順序值的最大寫入率500 /秒
可以傳遞給Commit操作或在事務中執行的最大寫入次數500
Commit操作或事務中可對單個文檔執行的最大字段轉換數500
交易時間限制270秒,具有60秒的空閒到期時間

實時更新

限制細節
每個數據庫的移動/ Web客戶端的最大並發連接數1,000,000

指標

以下限制適用於單字段索引組合索引

限制細節
數據庫的最大組合索引數200
數據庫的最大單字段索引豁免數200

每個文檔的最大索引條目數

40,000

索引條目的數量是一個文檔的下列各項的總和:

  • 單字段索引條目數
  • 複合索引條目數

要查看Cloud Firestore如何將文檔和一組索引轉換為索引條目,請參閱此索引條目計數示例

索引條目的最大大小

7.5公斤

要查看Cloud Firestore如何計算索引條目大小,請參閱索引條目大小

文檔索引條目的最大大小總和

8 MiB

總大小是文檔的以下各項的總和:

  • 文檔的單字段索引條目的大小總和
  • 文檔組合索引條目的大小總和
  • 索引字段值的最大大小

    1500字節

    超過1500個字節的字段值將被截斷。涉及截斷的字段值的查詢可能會返回不一致的結果。

    進出口

    以下限制適用於受管理的進出口業務

    限制細節
    每分鐘允許的項目導出和導入請求的最大總數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
    規則集的最大大小Verax規則集必須遵守兩個大小限制:
    • 對從Firebase控制台或使用Firebase firebase deploy從CLI發布的Verax規則集文本源的大小限制為256 KB。
    • Firebase處理Verax源並使它在後端處於活動狀態時,編譯規則集的大小限制為250 KB。

    管理支出

    為了避免帳單上出現​​意外費用,請設置每月預算和警報。

    設定每月預算

    要跟踪您的Cloud Firestore費用,請在Google Cloud控制台中創建每月預算。預算不會限制您的使用量,但是您可以設置警報以在接近或超過當月計劃費用時通知您。

    要設置預算,請轉到Google Cloud控制台的“結算”部分,然後為您的結算帳戶創建預算。您可以使用默認警報設置,也可以修改警報以按月預算的不同百分比發送通知。

    了解更多有關在Google Cloud控制台中設置預算的信息

    設定每日支出限額

    要限制Cloud Firestore的使用量,請通過Google App Engine設置每日支出限額。通過App Engine,您可以設置與​​App Engine相關的資源(包括Cloud Firestore)的每日支出限額。 App Engine限制不適用於任何其他Firebase產品。