连接选项
本节解释了驱动程序支持的 MongoDB 连接和身份验证选项。您可以通过连接 URI 的参数传递连接选项来指定客户端的行为。
名称 | 允许的值 | 默认值 | 描述 |
---|---|---|---|
appName | 字符串 | null | 指定驱动程序在连接握手过程中作为客户端元数据传递给服务器的应用程序名称。驱动程序在建立连接时将 appName 值发送到 MongoDB。此值记录在日志文件、慢查询日志和配置文件集合中。 |
authMechanism | 字符串 | null | 指定用于连接服务器的身份验证机制方法。如果您未指定值,则驱动程序使用默认机制,即 SCRAM-SHA-1 或 SCRAM-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 | 指定 指定 您还可以在您的 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 | auto ,stream ,poll | auto | 指定驱动程序监视器使用的监控模式。当此选项设置为 auto 时,监控模式由驱动程序运行的环境决定。驱动程序在函数即服务(FaaS)环境中使用轮询模式,在其他环境中使用流模式。 |
serverSelectionTimeoutMS | 非负整数 | 30000 | 指定在引发错误之前,用于服务器选择阻塞的毫秒数。 |
serverSelectionTryOnce | 布尔型 | true | 指定在服务器选择失败后仅扫描拓扑一次,而不是反复扫描直到服务器选择超时。 |
socketTimeoutMS | 非负整数 | 0 | 指定在超时之前,在套接字上尝试发送或接收的时间(以毫秒为单位)。指定 0 表示没有超时。 |
srvMaxHosts | 非负整数 | 0 | 指定在初始填充seedlist时随机选择的最大SRV结果数,或在SRV轮询期间向拓扑添加新主机。 |
srvServiceName | 根据RFC 6335定义的有效SRV服务名称 | "mongodb" | 指定在初始DNS种子列表发现中用于SRV查找的服务名称。 |
ssl | 布尔型 | false | ssl 是tls 选项的别名。 |
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 | 介于 -1 和 9 (含)之间的整数 | -1 |