FirestoreSettings interface

Specifies custom configurations for your Cloud Firestore instance. You must set these before invoking any other methods.

Signature:

exportdeclareinterfaceFirestoreSettings

Properties

PropertyTypeDescription
cacheSizeBytesnumberNOTE: This field will be deprecated in a future major release. Usecache field instead to specify cache size, and other cache configurations.An approximate cache size threshold for the on-disk data. If the cache grows beyond this size, Firestore will start removing data that hasn't been recently used. The size is not a guarantee that the cache will stay below that size, only that if the cache exceeds the given size, cleanup will be attempted.The default value is 40 MB. The threshold must be set to at least 1 MB, and can be set toCACHE_SIZE_UNLIMITED to disable garbage collection.
experimentalAutoDetectLongPollingbooleanConfigures the SDK's underlying transport (WebChannel) to automatically detect if long-polling should be used. This is very similar toexperimentalForceLongPolling, but only uses long-polling if required.After having had a default value offalse since its inception in 2019, the default value of this setting was changed in May 2023 totrue in v9.22.0 of the Firebase JavaScript SDK. That is, auto-detection of long polling is now enabled by default. To disable it, set this setting tofalse, and please open a GitHub issue to share the problems that motivated you disabling long-polling auto-detection.This setting cannot be used in a Node.js environment.
experimentalForceLongPollingbooleanForces the SDK’s underlying network transport (WebChannel) to use long-polling. Each response from the backend will be closed immediately after the backend sends data (by default responses are kept open in case the backend has more data to send). This avoids incompatibility issues with certain proxies, antivirus software, etc. that incorrectly buffer traffic indefinitely. Use of this option will cause some performance degradation though.This setting cannot be used withexperimentalAutoDetectLongPolling and may be removed in a future release. If you find yourself using it to work around a specific network reliability issue, please tell us about it in https://github.com/firebase/firebase-js-sdk/issues/1674.This setting cannot be used in a Node.js environment.
experimentalLongPollingOptionsExperimentalLongPollingOptionsOptions that configure the SDK’s underlying network transport (WebChannel) when long-polling is used.These options are only used ifexperimentalForceLongPolling is true or ifexperimentalAutoDetectLongPolling is true and the auto-detection determined that long-polling was needed. Otherwise, these options have no effect.
hoststringThe hostname to connect to.
ignoreUndefinedPropertiesbooleanWhether to skip nested properties that are set toundefined during object serialization. If set totrue, these properties are skipped and not written to Firestore. If set tofalse or omitted, the SDK throws an exception when it encounters properties of typeundefined.
localCacheFirestoreLocalCacheSpecifies the cache used by the SDK. Available options areMemoryLocalCache andPersistentLocalCache, each with different configuration options.When unspecified,MemoryLocalCache will be used by default.NOTE: setting this field andcacheSizeBytes at the same time will throw exception during SDK initialization. Instead, using the configuration in theFirestoreLocalCache object to specify the cache size.
sslbooleanWhether to use SSL when connecting.

FirestoreSettings.cacheSizeBytes

NOTE: This field will be deprecated in a future major release. Usecache field instead to specify cache size, and other cache configurations.

An approximate cache size threshold for the on-disk data. If the cache grows beyond this size, Firestore will start removing data that hasn't been recently used. The size is not a guarantee that the cache will stay below that size, only that if the cache exceeds the given size, cleanup will be attempted.

The default value is 40 MB. The threshold must be set to at least 1 MB, and can be set toCACHE_SIZE_UNLIMITED to disable garbage collection.

Signature:

cacheSizeBytes?:number;

FirestoreSettings.experimentalAutoDetectLongPolling

Configures the SDK's underlying transport (WebChannel) to automatically detect if long-polling should be used. This is very similar toexperimentalForceLongPolling, but only uses long-polling if required.

After having had a default value offalse since its inception in 2019, the default value of this setting was changed in May 2023 totrue in v9.22.0 of the Firebase JavaScript SDK. That is, auto-detection of long polling is now enabled by default. To disable it, set this setting tofalse, and please open a GitHub issue to share the problems that motivated you disabling long-polling auto-detection.

This setting cannot be used in a Node.js environment.

Signature:

experimentalAutoDetectLongPolling?:boolean;

FirestoreSettings.experimentalForceLongPolling

Forces the SDK’s underlying network transport (WebChannel) to use long-polling. Each response from the backend will be closed immediately after the backend sends data (by default responses are kept open in case the backend has more data to send). This avoids incompatibility issues with certain proxies, antivirus software, etc. that incorrectly buffer traffic indefinitely. Use of this option will cause some performance degradation though.

This setting cannot be used withexperimentalAutoDetectLongPolling and may be removed in a future release. If you find yourself using it to work around a specific network reliability issue, please tell us about it in https://github.com/firebase/firebase-js-sdk/issues/1674.

This setting cannot be used in a Node.js environment.

Signature:

experimentalForceLongPolling?:boolean;

FirestoreSettings.experimentalLongPollingOptions

Options that configure the SDK’s underlying network transport (WebChannel) when long-polling is used.

These options are only used ifexperimentalForceLongPolling is true or ifexperimentalAutoDetectLongPolling is true and the auto-detection determined that long-polling was needed. Otherwise, these options have no effect.

Signature:

experimentalLongPollingOptions?:ExperimentalLongPollingOptions;

FirestoreSettings.host

The hostname to connect to.

Signature:

host?:string;

FirestoreSettings.ignoreUndefinedProperties

Whether to skip nested properties that are set toundefined during object serialization. If set totrue, these properties are skipped and not written to Firestore. If set tofalse or omitted, the SDK throws an exception when it encounters properties of typeundefined.

Signature:

ignoreUndefinedProperties?:boolean;

FirestoreSettings.localCache

Specifies the cache used by the SDK. Available options areMemoryLocalCache andPersistentLocalCache, each with different configuration options.

When unspecified,MemoryLocalCache will be used by default.

NOTE: setting this field andcacheSizeBytes at the same time will throw exception during SDK initialization. Instead, using the configuration in theFirestoreLocalCache object to specify the cache size.

Signature:

localCache?:FirestoreLocalCache;

FirestoreSettings.ssl

Whether to use SSL when connecting.

Signature:

ssl?:boolean;

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2023-07-07 UTC.