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;