对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

连接选项

本节解释驱动程序支持的 MongoDB 连接和身份验证选项。您可以将连接选项作为连接 URI 的参数传递,以指定客户端的行为。

选项名称
类型
说明

minPoolSize

整型

指定单个连接池中任何时刻都必须存在的最少连接数。

默认:0。

maxPoolSize

整型

指定连接池在给定时间内的最大连接数。

默认:100。

waitQueueTimeoutMS (已弃用)

整型

此选项已弃用。您可以通过设置客户端级别的超时来配置此超时。

操作等待连接变为可用状态的最大等待时间(以毫秒为单位)。值为 0 表示没有限制。

默认:120000(120 秒)

serverSelectionTimeoutMS

整型

指定驱动程序在抛出异常前等待服务器选择成功的最长时间(以毫秒为单位)。

默认值:30000(30 秒)

localThresholdMS

整型

与副本集中的多个 MongoDB 实例通信时,驱动程序只会向响应时间小于或等于最快响应时间加上本地阈值(以毫秒为单位)的服务器发送请求。

默认:15。

heartbeatFrequencyMS

整型

指定驱动程序在尝试确定集群中每台服务器当前状态时的等待频率(以毫秒为单位)。

默认值:10000(10 秒)

replicaSet

字符串

指定所提供的连接字符串包含多个主机。指定后,驱动程序会尝试查找该集合的所有节点。

默认:null。

ssl

布尔

指定与 MongoDB 实例的所有通信都应使用 TLS/SSL。 取代tls选项。

默认:false。

TLS

布尔

指定与 MongoDB 实例的所有通信都应使用 TLS。 取代ssl选项。

默认:false。

tlsInsecure

布尔

指定驱动程序应允许 TLS 连接使用无效主机名。 与将tlsAllowInvalidHostnames设置为true的效果相同。 要以其他方式配置 TLS 安全约束,请使用自定义 SSLContext。

默认:false。

tlsAllowInvalidHostnames

布尔

指定驱动程序应允许 TLS 连接的证书中包含无效主机名。 取代sslInvalidHostNameAllowed 。

默认:false。

connectTimeoutMS

整型

指定 Kotlin 驱动程序在超时前等待连接打开的最长时间(以毫秒为单位)。 值为0指示驱动程序在等待连接打开时永不超时。

默认值:10000(10 秒)

socketTimeoutMS (已弃用)

整型

此选项已弃用。您可以通过设置客户端级别的超时来配置此超时。

Kotlin驱动程序在超时之前等待发送或接收请求的最长时间(以毫秒为单位)。值为 0 指示驱动程序在等待发送或接收请求时永不超时。

默认:0。

maxIdleTimeMS

整型

指定驱动程序在关闭连接之前允许池化连接处于空闲状态的最长时间(以毫秒为单位)。值为 0 表示驱动程序允许池连接空闲的时间没有上限。

将此值设置为高于应用程序的预期空闲时间,但低于防火墙或代理连接超时,以防止意外断开连接。

默认:0。

maxLifeTimeMS

整型

指定 Kotlin 驱动程序在关闭连接之前继续使用池连接的最长时间(以毫秒为单位)。 值为0表示驱动程序保持池化连接打开的时间没有上限。

默认:0。

journal

布尔

指定驱动程序必须等待已连接的 MongoDB 实例为所有写入操作将提交分组到磁盘上的日志文件。

默认:false。

w

字符串或整数

指定写关注(write concern)。 有关值的更多信息,请参阅w 选项的服务器文档。

默认:1。

wtimeoutMS (已弃用)

整型

此选项已弃用。您可以通过设置客户端级别的超时来配置此超时。

写关注(write concern) 的时间限制(以毫秒为单位)。有关更多信息,请参阅 wtimeoutMS 选项的服务器文档。值为 0 指示驱动程序写入操作永不超时。

默认:0。

readPreference

字符串

指定读取偏好。 有关值的更多信息,请参阅readPreference 选项的服务器文档。

默认:primary。

readPreferenceTags

字符串

指定读取偏好标签。 有关值的更多信息,请参阅readPreferenceTags 选项的服务器文档。

默认:null。

maxStalenessSeconds

整型

指定在驱动程序停止与从节点通信之前从节点的陈旧程度(以秒为单位)。 最小值为90秒或心跳频率加10秒,以较大者为准。 有关更多信息,请参阅maxStalenessSeconds 选项的服务器文档。 不提供参数或显式指定-1表示不应对从节点进行过时检查。

默认:-1。

authMechanism

字符串

指定驱动程序在提供档案的情况下应使用的身份验证机制。

默认:默认情况下,客户端根据服务器版本选择最安全的可用机制。有关可能的值,请参阅 authMechanism 选项的服务器文档。

authSource

字符串

指定应验证所提供档案的数据库。

默认:admin。

authMechanismProperties

字符串

将指定身份验证机制的身份验证属性指定为以冒号分隔的属性和值的列表。 有关更多信息,请参阅authMechanismProperties 选项的服务器文档。

默认:null。

appName

字符串

指定在连接握手过程中提供给 MongoDB 实例的应用程序的名称。可用于服务器日志和分析。

默认:null。

compressors

字符串

指定驱动程序将尝试用于压缩发送到连接的 MongoDB 实例的请求的一种或多种压缩算法。可能的值包括:zlib、snappy 和 zstd。

默认:null。

zlibCompressionLevel

整型

指定zlib为减小对已连接MongoDB实例的请求大小而应使用的压缩程度。该级别的范围可以从 -1 到 9,值越小,压缩速度越快(但会产生较大的请求),值越大,压缩速度越慢(但会产生较小的请求)。

默认:null。

retryWrites

布尔

指定驱动程序在由于网络错误而失败时必须重试支持的写入操作。

默认:true。

retryReads

布尔

指定驱动程序在由于网络错误而失败时必须重试支持的读取操作。

默认:true。

maxAdaptiveRetries

整型

设置驾驶员重试因可重试过载错误(即同时带有 SystemOverloadedError 和 RetryableError 标签的错误)而失败的命令的最大次数。

此选项仅在 retryWrites设立为 true 时适用于写入命令,仅在 retryReads设立为 true 时适用于读取命令。将该值设置为 0 会禁用对可重试过载错误的重试。

默认值:null。如果未设立此选项,驾驶员通常会应用 2 值。

enableOverloadRetargeting

布尔

设置驾驶员是否可以在为后续重试选择服务器期间降低服务器的优先级(如果服务器以前返回过过载错误)。

当 retryReads设立为 true 时,此选项适用于读取;当 retryWrites设立为 true 时,此选项适用于写入。此选项应用用于分片的集群。

默认:false。

serverMonitoringMode

字符串

指定驱动程序使用的服务器监控协议。当设置为 auto 时,监控模式由驱动程序运行的环境决定。驱动程序在功能即服务 (FaaS) 环境中使用 poll 模式,在其他环境中使用 stream 模式。

默认:auto。

uuidRepresentation

字符串

指定用于读取和写入操作的 UUID 表示形式。有关更多信息,请参阅 MongoClientSettings.getUuidRepresentation() 方法的驱动程序文档。

默认:unspecified。

directConnection

布尔

指定驱动程序必须直接连接到主机。

默认:false。

maxConnecting

整型

指定池可以同时建立的最大连接数。

默认:2。

srvServiceName

字符串

指定 SRV 资源记录的服务名称,驱动程序会检索该名称来构建您的种子列表。您必须在连接 URI 中使用 DNS 种子列表连接格式才能使用此选项。

默认:mongodb。

srvAllowedHostsSuffix

字符串

指定驾驶员用于验证 SRV记录查找返回的托管名的域后缀。设立此选项时,驾驶员会根据指定的后缀而不是从 SRV托管名推断的域来验证托管名。如果值不以句点 (.) 开头,驾驶员会加一。此选项只能与 mongodb+srv连接字符串格式一起使用。

默认值:null。驾驶员会根据从 SRV托管名推断出的域来验证托管名。

警告

更改默认的SRV托管名验证可能会造成安全漏洞,因为它会放松针对 DNS 欺骗的内置防护措施。指定覆盖部署中主机的最窄后缀。示例,如果您的 SRV托管名为 cluster.test.internal.example.com,请将 srvAllowedHostsSuffix设立为 .internal.example.com。请勿将其设立为 .example.com,它接受 example.com 域中的任何托管。

有关选项的完整列表,请参阅 ConnectionString API参考页面。

给本页内容打分