获取我们在 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 KB
文檔的最大大小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 中的Billing部分並為您的 Cloud Billing 帳戶創建預算。您可以使用默認警報設置或修改警報以按每月預算的不同百分比發送通知。

    了解有關設置預算和預算提醒的更多信息。

    設定每日消費限額

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