Docs 菜单
Docs 主页
/ / /
Node.js
/ /

连接选项

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

名称
接受的值
默认值
说明
appName
字符串
null
指定驱动程序在连接握手过程中传递到客户端元数据中的服务器的应用名称。当建立此连接时,驱动程序会向 MongoDB 发送 appName 值。此值将记录在日志文件、慢速查询日志和配置文件集合中。
authMechanism
字符串
null
指定用于连接到服务器的身份验证机制方法。如果不指定值,驱动程序将使用默认机制,即 SCRAM-SHA-1SCRAM-SHA-256,具体取决于服务器版本。有关可用的身份验证机制,请参阅身份验证机制
authMechanismProperties
逗号分隔的键值对,例如 "opt1:val1,opt2:val2"
null
指定为身份验证提供的其他选项,例如为 GSSAPI 启用主机名规范化。
authSource
字符串
null
指定连接应针对哪个数据库进行身份验证。
compressors
逗号分隔的字符串列表,例如 "snappy,zlib,zstd"
null
指定发送到服务器或从服务器接收的传输协议消息的允许压缩类型。请参阅网络压缩,获取更多信息。
connectTimeoutMS
non-negative integer
30000
指定在引发错误之前等待与服务器建立单个 TCP 套接字连接的时间量(以毫秒为单位)。指定 0 会禁用连接超时。
directConnection
布尔
false
指定是否强制将所有操作分派到连接 URI 中指定的主机。
enableUtf8Validation
布尔
true

指定 true 可启用该连接的 UTF-8 验证。当 MongoDB 尝试将包含无效 UTF-8 字符的字符串数据序列化为 BSON 时,会抛出错误。这适用于文档键和文档值,此验证增加了处理开销。

指定 false 可禁用该连接的 UTF-8 验证。当数据包含无效的 UTF-8 数据时,MongoDB 不会抛出错误。如果禁用验证,则应用程序将避免验证处理开销。在禁用验证的情况下编辑数据可能会导致数据丢失。禁用 UTF-8 验证是一种临时解决方法,仅用于查询或导出数据。

此外,还可在 Node.js 代码中设置 UTF-8 验证。要了解有关 UTF-8 字符的更多信息,请参阅维基百科上的 UTF-8

heartbeatFrequencyMS
大于或等于 500 的整数。
null
指定服务器定期监控检查的间隔时间(以毫秒为单位)。
journal
布尔
null
指定客户端的默认写关注 "j" 字段。 有关更多信息,请参阅写关注
loadBalanced
布尔
null
指定驱动程序是否连接到负载均衡器。
localThresholdMS
non-negative integer
15
指定用来在合适的服务器之间进行选择的往返时间的延迟窗口大小(以毫秒为单位)。指定 0 意味着无需等待,即可用的最快服务器。
maxIdleTimeMS
non-negative integer
0
指定连接在关闭之前可以处于空闲状态的时间(以毫秒为单位)。指定 0 意味着没有最小值。
maxPoolSize
non-negative integer
100
指定驱动程序可在连接池中创建的客户端或连接的最大数量。此数量包括正在使用的连接。
maxConnecting
non-negative integer
2
指定驱动程序的连接池可以同时建立的最大连接数。
maxStalenessSeconds
-1,或大于或等于 90 的整数
null
指定从节点可能遇到但仍有资格供服务器选择的最大复制延迟(以挂钟时间为单位)。指定 -1 意味着没有最大值。
minPoolSize
non-negative integer
0
指定即使没有操作发生时驱动程序也应在连接池中创建和维护的连接数。 此计数包括正在使用的连接。
proxyHost
字符串
null
指定用于连接到 MongoDB 服务的 SOCKS 5代理服务器的 IPv 4 /IPv 6地址或域名。
代理端口
non-negative integer
null
指定proxyHost中指定的 SOCKS 5代理服务器的端口。
proxyUsername
字符串
null
指定用户名,用于对proxyHost中指定的 SOCKS 5代理服务器进行用户名/密码身份验证。
proxyPassword
字符串
null
指定密码,用于对proxyHost中指定的 SOCKS 5代理服务器进行用户名/密码身份验证。
readConcernLevel
字符串
null
指定客户端的默认读关注。有关更多信息,请参阅读关注
readPreference
字符串
"primary"
指定客户端的默认读取偏好(不包括标签)。有关更多信息,请参见读取偏好
readPreferenceTags
逗号分隔的键:值对,例如 "dc:ny,rack:1",而且 "dc:ny" 可以指定多次,该键的每个实例都是一个单独的标签集
null

指定客户端的默认读取偏好标签。仅当读取偏好不是主节点("primary")模式时,此选项才有效。

驱动程序将 URI 中标签的顺序用作读取偏好的顺序。

replicaSet
字符串
null
指定要连接到的副本集的名称。
retryReads
布尔
true
允许重试读取。
retryWrites
布尔
true
启用可重试写入。
serverSelectionTimeoutMS
non-negative integer
30000
指定在抛出错误之前,为服务器选择阻塞的超时时间(以毫秒为单位)。
serverSelectionTryOnce
布尔
true
指定在服务器选择失败后只扫描拓扑结构一次,而不是重复扫描直到服务器选择超时。
socketTimeoutMS
non-negative integer
0
指定套接字超时前尝试发送或接收的时间(以毫秒为单位)。指定 0 表示无超时。
SrvMaxHosts
non-negative integer
0
指定最初填充种子列表,或在 SRV 轮询期间向拓扑结构中添加新主机时,随机选择的 SRV 结果的最大数量。
srvServiceName
符合 RFC 6335 的有效 SRV 服务名称
"mongodb"
指定在初始 DNS 种子列表发现中用于 SRV 查找的服务名称。
ssl
布尔
false
ssltls 选项的别名。
TLS
布尔
false
指定与服务器的连接是否需要 TLS。 使用"mongodb+srv"srvServiceName或指定其他tls前缀选项会将tls默认为true
tlsAllowInvalidCertificates
布尔
false
指定当服务器的 TLS 证书无效时驱动程序是否应出错。
tlsAllowInvalidHostnames
布尔
false
指定当服务器的主机名与 TLS 证书指定的主机名不匹配时,驱动程序是否应出错。
tlsCAFile
字符串
null
指定文件路径,其中包含建立 TLS 连接时要信任的单个或一组证书颁发机构。
tlsCertificateKeyFile
字符串
null
指定客户端证书文件或客户端私钥文件的路径。 如果同时需要两个文件,则必须将文件合并。
tlsCertificateKeyFilePassword
字符串
null
指定密码,该密码负责解密用于 TLS 连接的客户端私钥。
tlsInsecure
布尔
false
指定尽可能放宽 TLS 约束,如允许无效证书或主机名不匹配。
w
非负整数或字符串
null
指定客户端的默认写关注 "w" 字段。
waitQueueTimeoutMS
non-negative integer
0
指定在被判定超时之前,尝试从服务器的连接池中获取一个连接所允许花费的最长时间(以毫秒为单位)。
wtimeoutMS
non-negative integer
null
指定客户端的默认写关注 "wtimeout" 字段。
zlibCompressionLevel
介于 -19(含)之间的整数
-1
指定使用 zlib 压缩传输协议消息时的压缩级别。-1 表示默认级别,0 表示不压缩,1 表示最快速度,9 则表示最佳压缩级别。请参阅网络压缩以了解更多信息。
← 连接指南