文档菜单
文档首页
/ / /
Node.js 驱动程序
/ /

连接选项

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

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

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

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

您还可以在您的 Node.js 代码 中设置 UTF-8 验证。有关 UTF-8 字符的更多信息,请参阅UTF-8 维基百科上的页面。

heartbeatFrequencyMS
大于等于500的整数
null
指定常规服务器监控检查之间的间隔(毫秒)。
journal
布尔型
null
指定客户端的日志写入关注。有关更多信息,请参阅写入关注
loadBalanced
布尔型
null
指定驱动程序是否连接到负载均衡器。
localThresholdMS
非负整数
15
指定在选择合适服务器时,往返时间延迟窗口的大小(毫秒)。指定0表示无等待,即最快的可用服务器。
maxIdleTimeMS
非负整数
0
指定连接在关闭之前可以空闲的时间(毫秒)。指定0表示无最小值。
maxPoolSize
非负整数
100
指定驱动程序可以在其连接池中创建的最大客户端或连接数。此计数包括正在使用的连接。
maxConnecting
非负整数
2
指定驱动程序的连接池可能同时建立的连接的最大数。
maxStalenessSeconds
-1,或大于等于90的整数
null
指定从从服务器可能经历的最多复制延迟,在墙钟时间内,并且仍然有资格进行服务器选择。指定-1表示无最大值。
minPoolSize
非负整数
0
指定即使在没有任何操作发生时,驱动程序在连接池中创建和保持的连接数。此计数包括正在使用的连接。
proxyHost
字符串
null
指定SOCKS5代理的IPv4地址、IPv6地址或域名。
proxyPort
非负整数
null
指定SOCKS5代理服务器的TCP端口号。如果您设置了proxyHost选项,此选项的默认值为1080
proxyUsername
字符串
null
指定用于对SOCKS5代理服务器进行身份验证的用户名。如果您将此选项设置为空字符串,则驱动程序忽略它。
proxyPassword
字符串
null
指定用于对SOCKS5代理服务器进行身份验证的密码。如果您将此选项设置为空字符串,则驱动程序忽略它。
readConcernLevel
字符串
null
指定客户端的默认读取关注。有关更多信息,请参阅读取关注
readPreference
字符串
"primary"
指定客户端的默认读取偏好(不包括标签)。有关更多信息,请参阅读取偏好
readPreferenceTags
逗号分隔的键:值对,例如,“dc:ny,rack:1”和“dc:ny可以指定多次,每个键的实例都是单独的标签集
null

指定客户端的默认读取偏好标签。此选项仅在读取偏好模式不是主节点时有效。

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

replicaSet
字符串
null
指定要连接的副本集的名称。
retryReads
布尔型
true
启用可重试的读取。
retryWrites
布尔型
true
启用可重试的写入。
serverMonitoringMode
autostreampoll
auto
指定驱动程序监视器使用的监控模式。当此选项设置为auto时,监控模式由驱动程序运行的环境决定。驱动程序在函数即服务(FaaS)环境中使用轮询模式,在其他环境中使用流模式。
serverSelectionTimeoutMS
非负整数
30000
指定在引发错误之前,用于服务器选择阻塞的毫秒数。
serverSelectionTryOnce
布尔型
true
指定在服务器选择失败后仅扫描拓扑一次,而不是反复扫描直到服务器选择超时。
socketTimeoutMS
非负整数
0
指定在超时之前,在套接字上尝试发送或接收的时间(以毫秒为单位)。指定0表示没有超时。
srvMaxHosts
非负整数
0
指定在初始填充seedlist时随机选择的最大SRV结果数,或在SRV轮询期间向拓扑添加新主机。
srvServiceName
根据RFC 6335定义的有效SRV服务名称
"mongodb"
指定在初始DNS种子列表发现中用于SRV查找的服务名称。
ssl
布尔型
false
ssltls选项的别名。
tls
布尔型
false
指定是否需要服务器连接的TLS。使用服务名称"mongodb+srv"或指定其他以tls-前缀的选项,会隐式设置tls的值为true
tlsAllowInvalidCertificates
布尔型
false
指定是否在服务器TLS证书无效时驱动程序生成错误。仅用于测试目的,将此选项设置为 true
tlsAllowInvalidHostnames
布尔型
false
指定当服务器的主机名与TLS证书中指定的主机名不匹配时,驱动程序是否生成错误。仅用于测试目的,将此选项设置为 true
tlsCAFile
字符串
null
指定用于TLS连接时信任的证书授权机构的单个或捆绑文件的路径。有关设置此连接选项的更多信息,请参阅TLS指南中的提供证书文件路径部分。
tlsCertificateKeyFile
字符串
null
指定客户端证书文件或客户端私钥文件的路径。如果您需要两者,您必须连接文件。有关设置此连接选项的更多信息,请参阅TLS指南中的提供证书文件路径部分。
tlsCertificateKeyFilePassword
字符串
null
指定用于解密用于TLS连接的客户端私钥的密码。
tlsInsecure
布尔型
false
指定尽可能放宽TLS约束,例如允许无效证书或主机名不匹配。仅用于测试目的,将此选项设置为 true
w
非负整数或字符串
null
指定客户端的默认写入关注"w"字段。
waitQueueTimeoutMS
非负整数
0
指定在超时之前尝试从服务器连接池中提取连接所花费的时间,单位为毫秒。
wTimeoutMS
非负整数
null
指定客户端的默认写入关注超时字段。
zlibCompressionLevel
介于 -19 (含)之间的整数
-1
指定使用zlib压缩网络协议消息时的压缩级别。-1 表示默认级别,0 表示不压缩,1 表示最快速度,9 表示最佳压缩。有关更多信息,请参阅网络压缩

返回

连接指南