连接字符串选项
本页列出了所有SRV连接字符串和标准连接字符串的连接选项。
以下形式的选项是成对出现的名称=值
.
在驱动程序中使用时,选项
名称
不区分大小写。在
mongosh
中使用时,选项名称
不区分大小写。mongosh
.值
始终区分大小写。
使用连字符(&
)字符分隔选项,形式为name1=value1&name2=value2
。在以下示例中,连接包含replicaSet
和connectTimeoutMS
选项
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000
注意
连接字符串参数的分号分隔符
为了提供向后兼容性,当前驱动程序接受分号(;
)作为选项分隔符。
副本集选项
以下连接字符串连接到名为myRepl
的副本集,成员运行在指定的主机上。它使用用户名myDatabaseUser
和密码D1fficultP%40ssw0rd
进行身份验证。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com:27017,db1.example.com:27017,db2.example.com:27017/?replicaSet=myRepl
连接选项 | 描述 |
---|---|
指定replica set的名称,如果 连接到副本集时,向uri的 | |
指定客户端是否直接连接到连接URI中的
|
连接选项
TLS选项
以下连接字符串到副本集包含 tls=true
选项。使用用户 myDatabaseUser
和密码 D1fficultP%40ssw0rd
进行身份验证。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&tls=true
或者,您也可以使用等效的 ssl=true
选项
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&ssl=true
连接选项 | 描述 |
---|---|
禁用各种证书验证。 设置为 此连接字符串选项在mongo shell中不可用。请使用命令行选项。 警告:禁用证书验证会创建漏洞。 |
超时选项
压缩选项
连接选项 | 描述 |
---|---|
连接池选项
大多数驱动程序实现了一些连接池处理。一些驱动程序不支持连接池。有关连接池实现的更多信息,请参阅您的 驱动程序 文档。这些选项允许应用程序在连接到 MongoDB 部署时配置连接池。
连接选项 | 描述 |
---|---|
连接池中的最大连接数。默认值是 100 。 | |
连接池中的最小连接数。默认值是
| |
连接池可能同时建立的最大连接数。默认值是
增加 | |
连接在池中保持空闲状态的最大毫秒数,在此之后将被移除并关闭。 并非所有驱动程序都支持此选项。 | |
驱动程序将此数值乘以 并非所有驱动程序都支持此选项。 | |
线程等待连接变为可用的最大时间(以毫秒为单位)。有关默认值,请参阅驱动程序 文档。 并非所有驱动程序都支持此选项。 |
写入关注选项
写入关注描述了从MongoDB请求的确认级别。写入关注选项由以下驱动程序支持:
MongoDB 驱动程序
您可以在连接字符串和insert
或update
等方法的参数中指定写入关注。如果两个地方都指定了写入关注,则方法参数将覆盖连接字符串设置。
MongoDB Atlas 部署的连接字符串默认使用"majority"
。如果您没有为 MongoDB Atlas 部署指定写入关注,MongoDB Atlas 将强制使用"majority"
。
以下连接字符串指定了副本集的"majority"
写入关注和5秒超时,使用
写入关注参数:wtimeoutMS
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&w=majority&wtimeoutMS=5000
连接选项 | 描述 |
---|---|
对应于写入关注度 当 | |
有关更多信息,请参阅 写入关注度。
读取关注选项
对于WiredTiger存储引擎,MongoDB为副本集和副本集分片引入了readConcern
选项。
读取关注允许客户端从副本集选择一个隔离级别进行读取。
以下连接到副本集的连接字符串指定了readConcernLevel=majority
:
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readConcernLevel=majority
连接选项 | 描述 |
---|---|
有关更多信息,请参阅读取关注。
读取优先级选项
读取偏好描述了读取操作相对于副本集的行为。这些参数允许您在连接字符串中按连接指定读取偏好。
例如
以下副本集的连接字符串指定了
secondary
读取偏好模式以及120秒的maxStalenessSeconds
值。mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120 以下分片集群的连接字符串指定了
secondary
读取偏好模式以及120秒的maxStalenessSeconds
值。mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos1.example.com,mongos2.example.com/?readPreference=secondary&maxStalenessSeconds=120 以下分片集群的连接字符串指定了
secondary
读取偏好模式以及三个readPreferenceTags
:mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos1.example.com,mongos2.example.com/?readPreference=secondary&readPreferenceTags=dc:ny,rack:r1&readPreferenceTags=dc:ny&readPreferenceTags=
当使用多个readPreferenceTags
时,顺序很重要。尝试按顺序使用readPreferenceTags
,直到找到匹配项。找到后,使用该指定来查找所有合格的匹配成员,并且忽略任何剩余的readPreferenceTags
。有关详细信息,请参阅标签匹配顺序。
连接选项 | 描述 |
---|---|
指定在客户端停止使用副本进行读操作之前,副本可以有多少秒的过时性。有关详细信息,请参阅读优先级 默认情况下,没有最大过时性,客户端在选择将读操作定向到何处时不会考虑副本的延迟。 最小 | |
指定标签文档作为逗号分隔的冒号分隔键值对列表。例如,
要指定 列表 的标签文档,使用多个 在多个 此连接字符串选项对 |
更多信息请参阅 读取偏好。
身份验证选项
以下连接字符串到副本集指定了 authSource
到 admin
数据库。也就是说,用户凭据是在 admin
数据库上验证的。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl&authSource=admin
如果用户名或密码包含以下字符,则必须使用 百分编码:
$ : / ? # [ ] @
连接选项 | 描述 | |
---|---|---|
指定与用户凭证关联的数据库名称。如果未指定 PLAIN (LDAP)、GSSAPI (Kerberos) 和 MONGODB-AWS (IAM) 身份验证机制需要将 如果没有提供用户名,无论是通过连接字符串还是通过 | ||
指定 MongoDB 用于连接身份验证的认证机制。如果您不指定
只有 MongoDB 企业版 要使用 要使用 在使用 如果 AWS 访问密钥 ID、秘密访问密钥或会话令牌包含以下字符,则必须使用 百分编码
或者,如果 AWS 访问密钥 ID、秘密访问密钥或会话令牌已在您的平台使用相应的 AWS IAM 环境变量 定义, 请参阅 连接到 Atlas 集群 以了解使用连接字符串和环境变量方法使用 请参阅自管理部署中的身份验证以获取有关MongoDB中身份验证系统的更多信息。还请考虑在自管理部署中使用x.509证书进行客户端身份验证以获取有关x509身份验证的更多信息。 | ||
指定 可能的键值对有
| ||
设置连接到Kerberized MongoDB实例时的Kerberos服务名称。此值必须与您连接的MongoDB实例上设置的服务名称匹配。
|
服务器选择和发现选项
MongoDB提供了以下选项来配置MongoDB驱动程序和mongos
实例如何选择要将其读或写操作定向到的服务器。
连接选项 | 描述 |
---|---|
选择多个合适的MongoDB实例时的延迟窗口大小(以毫秒为单位)。默认值:15毫秒。 所有驱动程序都使用 | |
指定在抛出异常之前阻塞服务器选择的时间(以毫秒为单位)。默认值:30,000毫秒。 | |
仅适用于单线程驱动程序。当设置为 多线程驱动程序和 | |
默认值:
| |
仅单线程客户端。控制客户端检查MongoDB部署的TCP连接状态的频率。指定较低的值,客户端可以更快地检测到网络问题,但会消耗更多CPU资源。默认:5秒。 此选项不是所有驱动程序都支持。请参阅驱动程序文档。 |
其他配置
连接选项 | 描述 |
---|---|
指定自定义应用名称。应用名称会在
从MongoDB驱动程序中可用
| |
启用可重试的写入。 可能的值是
MongoDB驱动程序会重试事务提交和取消操作,无论 | |
可能的值是
有关默认值,请参阅您驱动程序的驱动程序文档。 并非所有驱动程序都支持 | |
指定客户端是否连接到负载均衡器。此选项默认为 只有满足以下要求,您才能将此选项设置为
| |