连接选项
概述
在本指南中,您可以了解MongoDB连接和认证选项。您可以将连接选项设置为连接字符串的参数,以指定您的Client
实例连接到服务器时的行为。客户端
实例的行为。
选项名称 | 接受的值 | 默认值 | 描述 |
---|---|---|---|
appName | 字符串 | 无 | 指定 Client 实例在握手过程中发送到服务器的应用程序名称。指定 appName 可以帮助您使用服务器日志来确定哪个Client 实例连接到了服务器。 |
authMechanism | 字符串 | 无 | 指定要使用的认证机制。如果您不指定此选项,驱动程序将使用默认的认证机制。有关Rust驱动程序的认证信息,请参阅认证机制. |
authMechanismProperties | 字符串 | 无 | 指定在 authMechanism 选项中设置的认证机制的更多属性。 |
authSource | 字符串 | 请参阅描述 | 指定用于认证的数据库。 对于基于SCRAM的认证机制,默认值为 admin ,对于MONGODB-X509 机制为$external ,对于PLAIN 机制为数据库名称或$external 。 |
compressors | 以逗号分隔的字符串列表 | 无 | 指定 Client 实例在指定顺序中使用的压缩程序。有关网络压缩的更多信息,请参阅网络压缩指南。 |
connectTimeoutMS | 非负整数 | 10000 (10秒) | 指定连接超时时间(以毫秒为单位),在尝试连接到服务器时传递给每个底层TCP流。 |
directConnection | 布尔值 | false | 指定 Client 实例是否直接连接到单个主机,而不是发现并连接到集群中的所有服务器。 |
heartbeatFrequencyMS | 大于或等于500的整数 | 10000 (10秒) | 指定每个监控线程在执行服务器检查之间等待的时间(以毫秒为单位)。 |
journal | 布尔值 | false | 请求确认操作已传播到磁盘日志。 |
localThresholdMS | 非负整数 | 15 | 指定与所有合适服务器最短往返时间相比,驱动程序和服务器之间平均往返时间可以持续的时间(以毫秒为单位)。 值为 0 表示没有延迟窗口,因此只有平均往返时间最低的服务器才有资格。 |
maxIdleTimeMS | 非负整数 | 0 | 指定连接在连接池中保持空闲的时间(以毫秒为单位),服务器在此时间后将关闭连接。 值为 0 表示客户端不会关闭空闲连接。 |
maxStalenessSeconds | -1 或任何大于或等于 90 的整数 | -1 | 指定辅助节点可以落后于主节点多少秒仍被视为给定操作的候选。 此选项的值必须至少为 90 ,否则操作将引发错误。值为 -1 表示没有最大延迟。 |
maxPoolSize | 非负整数 | 10 | 指定客户端实例可以为给定服务器在连接池中创建的最大连接数。 如果在 maxPoolSize 连接已被借出的情况下尝试操作,则操作将等待当前操作完成并将连接返回池中。 |
minPoolSize | 非负整数 | 0 | 指定在特定时间点服务器连接池中可用的最小连接数。 如果池中连接数少于 minPoolSize ,则服务器将在后台添加连接,直到达到 minPoolSize 的值。 |
readConcernLevel | 字符串 | 无 | 指定在客户端实例上执行的操作的默认读取关注点。有关更多信息,请参阅服务器手册中的读取关注点。Read Concern(读取关注点) |
readPreference | 字符串 | primary | 指定驱动程序如何将读取操作路由到副本集的成员。有关更多信息,请参阅服务器手册中的读取偏好。 |
readPreferenceTags | 逗号分隔的关键字值对列表 | 无 | 指定哪些副本集成员被视为操作。此键的每个实例都是一个单独的标签集。驱动程序将检查每个标签集,直到找到包含每个标签的集合中的一个或多个服务器。 |
replicaSet | 字符串 | 无 | 指定客户端实例连接到的副本集名称。 |
retryReads | 布尔值 | true | 指定在操作失败时客户端是否重试读取操作。 |
serverSelectionTimeoutMS | 非负整数 | 30000 (30秒) | 指定客户端实例在尝试为操作选择服务器之前等待的时间(以毫秒为单位),然后超时。 |
tls | 布尔值 | false | 指定客户端实例用于与其服务器连接的 TLS 配置。默认情况下,TLS 是关闭的。 |
tlsAllowInvalidCertificates | 布尔值 | false | 指定客户端实例是否在服务器提供无效证书时返回错误。 我们建议仅在测试环境中将此选项设置为 true ,以避免在您的应用程序中创建漏洞。 |
tlsCAFile | 字符串 | 请参阅描述 | 指定客户端实例用于 TLS 的证书颁发机构(CA)文件的路径。 如果您不指定此选项,驱动程序将使用来自 webpki-roots crate 的 Mozilla 根证书。 |
tlsCertificateKeyFile | 字符串 | 无 | 指定客户端实例向服务器提供的证书文件路径,以验证其身份。 如果您未设置此选项,客户端实例将不会尝试向服务器验证其身份。 |
tlsInsecure | 布尔值 | false | 指定客户端实例是否在服务器提供无效证书时返回错误。 我们建议仅在测试环境中将此选项设置为 true ,以避免在您的应用程序中创建漏洞。 |
w | 非负整数或字符串 | 无 | 请求确认操作已传播到特定数量或类型的服务器。 有关更多信息,请参阅服务器手册中的写关注。 |
wTimeoutMS | 非负整数 | 无超时 | 指定写关注的时间限制(以毫秒为单位)。如果操作在时间限制内未传播到请求的水平,驱动程序将引发错误。 |
zlibCompressionLevel | 介于 -1 和 9(含)之间的整数 | -1 |
要查看完整的连接选项列表,请访问服务器手册中的连接字符串选项部分。