FirestoreSettings interface

指定 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使用的快取。可用選項有MemoryLocalCachePersistentLocalCache ,每個選項都有不同的設定選項。未指定時,預設使用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使用的快取。可用選項有MemoryLocalCachePersistentLocalCache ,每個都有不同的配置選項。

未指定時,預設使用MemoryLocalCache

注意:同時設定該欄位和cacheSizeBytes會在SDK初始化時拋出例外。相反,使用FirestoreLocalCache物件中的配置來指定快取大小。

簽名:

localCache?: FirestoreLocalCache;

FirestoreSettings.ssl

連線時是否使用SSL。

簽名:

ssl?: boolean;