指定 Cloud Firestore 執行個體的自訂配置。您必須在呼叫任何其他方法之前設定這些。
簽名:
export declare interface FirestoreSettings
特性
財產 | 類型 | 描述 |
---|---|---|
快取大小位元組 | 數位 | 注意:該欄位將在未來的主要版本中被棄用。使用cache 欄位來指定快取大小和其他快取配置。磁碟上資料的近似快取大小閾值。如果快取成長超過此大小,Firestore 將開始刪除最近未使用的資料。該大小並不能保證快取將保持在該大小以下,只是如果快取超過給定大小,則會嘗試清理。預設值為 40 MB。此閾值必須至少設定為 1 MB,並且可以設定為CACHE_SIZE_UNLIMITED 以停用垃圾收集。 |
實驗性自動偵測長輪詢 | 布林值 | 設定 SDK 的底層傳輸 (WebChannel) 以自動偵測是否應使用長輪詢。這與experimentalForceLongPolling 非常相似,但僅在需要時使用長輪詢。自 2019 年推出以來預設值一直為false ,此設定的預設值於 2023 年 5 月在 Firebase JavaScript SDK v9.22.0 中變更為true 。也就是說,現在預設啟用長輪詢的自動偵測。若要停用它,請將此設定設為false ,並請開啟 GitHub 問題來分享促使您停用長輪詢自動偵測的問題。此設定不能在 Node.js 環境中使用。 |
實驗性強制長輪詢 | 布林值 | 強制 SDK 的底層網路傳輸 (WebChannel) 使用長輪詢。來自後端的每個回應將在後端發送資料後立即關閉(預設情況下,回應保持開啟狀態,以防後端有更多資料要發送)。這可以避免與某些代理、防毒軟體等不相容的問題,從而錯誤地無限期地緩衝流量。但使用此選項會導致一些效能下降。此設定不能與experimentalAutoDetectLongPolling 一起使用,並且可能會在未來的版本中刪除。如果您發現自己使用它來解決特定的網路可靠性問題,請在 https://github.com/firebase/firebase-js-sdk/issues/1674 中告訴我們。此設定不能在 Node.js 環境中使用。 |
實驗性長輪詢選項 | 實驗性長輪詢選項 | 使用長輪詢時設定 SDK 底層網路傳輸 (WebChannel) 的選項。只有當experimentalForceLongPolling 為true 或experimentalAutoDetectLongPolling 為true 並且自動偵測確定需要長輪詢時,才使用這些選項。否則,這些選項無效。 |
主持人 | 細繩 | 要連接的主機名稱。 |
忽略未定義的屬性 | 布林值 | 是否跳過在物件序列化期間設定為undefined 巢狀屬性。如果設為true ,這些屬性將被跳過並且不會寫入 Firestore。如果設定為false 或省略,SDK 在遇到類型為undefined 屬性時會引發例外狀況。 |
本機快取 | Firestore本機快取 | 指定SDK使用的快取。可用選項有MemoryLocalCache 和PersistentLocalCache ,每個選項都有不同的設定選項。未指定時,預設使用MemoryLocalCache 。注意:同時設定該欄位和cacheSizeBytes 會在SDK初始化時拋出例外。相反,使用FirestoreLocalCache 物件中的配置來指定快取大小。 |
安全通訊端層 | 布林值 | 連線時是否使用SSL。 |
FirestoreSettings.cacheSizeBytes
注意:該欄位將在未來的主要版本中被棄用。使用cache
欄位來指定快取大小和其他快取配置。
磁碟上資料的近似快取大小閾值。如果快取成長超過此大小,Firestore 將開始刪除最近未使用的資料。該大小並不能保證快取將保持在該大小以下,只是如果快取超過給定大小,則會嘗試清理。
預設值為 40 MB。此閾值必須至少設定為 1 MB,並且可以設定為CACHE_SIZE_UNLIMITED
以停用垃圾收集。
簽名:
cacheSizeBytes?: number;
FirestoreSettings.experimentalAutoDetectLongPolling
設定 SDK 的底層傳輸 (WebChannel) 以自動偵測是否應使用長輪詢。這與experimentalForceLongPolling
非常相似,但僅在需要時才使用長輪詢。
自 2019 年推出以來預設值一直為false
,此設定的預設值於 2023 年 5 月在 Firebase JavaScript SDK v9.22.0 中變更為true
。也就是說,現在預設啟用長輪詢的自動偵測。要停用它,請將此設定設為false
,並請開啟 GitHub 問題來分享促使您停用長輪詢自動偵測的問題。
此設定不能在 Node.js 環境中使用。
簽名:
experimentalAutoDetectLongPolling?: boolean;
FirestoreSettings.experimentalForceLongPolling
強制 SDK 的底層網路傳輸 (WebChannel) 使用長輪詢。來自後端的每個回應將在後端發送資料後立即關閉(預設情況下,回應保持開啟狀態,以防後端有更多資料要發送)。這可以避免與某些代理、防毒軟體等不相容的問題,從而錯誤地無限期地緩衝流量。但使用此選項會導致一些效能下降。
此設定不能與experimentalAutoDetectLongPolling
一起使用,並且可能會在未來的版本中刪除。如果您發現自己使用它來解決特定的網路可靠性問題,請在 https://github.com/firebase/firebase-js-sdk/issues/1674 中告訴我們。
此設定不能在 Node.js 環境中使用。
簽名:
experimentalForceLongPolling?: boolean;
FirestoreSettings.experimentalLongPollingOptions
使用長輪詢時設定 SDK 底層網路傳輸 (WebChannel) 的選項。
只有當experimentalForceLongPolling
為true 或experimentalAutoDetectLongPolling
為true 並且自動偵測確定需要長輪詢時,才使用這些選項。否則,這些選項無效。
簽名:
experimentalLongPollingOptions?: ExperimentalLongPollingOptions;
FirestoreSettings.host
要連接的主機名稱。
簽名:
host?: string;
FirestoreSettings.ignoreUndefinedProperties
是否跳過在物件序列化期間設定為undefined
巢狀屬性。如果設定為true
,這些屬性將被跳過並且不會寫入 Firestore。如果設定為false
或省略,SDK 在遇到類型undefined
屬性時會拋出例外。
簽名:
ignoreUndefinedProperties?: boolean;
FirestoreSettings.localCache
指定SDK使用的快取。可用選項有MemoryLocalCache
和PersistentLocalCache
,每個都有不同的配置選項。
未指定時,預設使用MemoryLocalCache
。
注意:同時設定該欄位和cacheSizeBytes
會在SDK初始化時拋出例外。相反,使用FirestoreLocalCache
物件中的配置來指定快取大小。
簽名:
localCache?: FirestoreLocalCache;
FirestoreSettings.ssl
連線時是否使用SSL。
簽名:
ssl?: boolean;