编辑
2024-07-08
undefined
00
请注意,本文编写于 346 天前,最后修改于 346 天前,其中某些信息可能已经过时。

目录

关于MongoDB连接字符串URI格式
对于分片集群
URI的主要组成

关于MongoDB连接字符串URI格式

连接字符串格式 你可以使用以下任一方法指定MongoDB连接字符串:

  • 标准连接字符串格式
  • DNS种子列表连接格式。
  • 标准连接字符串格式

本节介绍用于连接MongoDB部署的MongoDB连接URI的标准格式:独立,副本集或分片集群。 标准URI连接方案具有以下形式:

bash
mongodb://[username:password@]host1[:port1][,...hostN[:portN]]][/[database][?options]]

对于独立MongoDB

bash
mongodb://mongodb0.example.com:27017/admin

如果开启了访问控制:

bash
mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/admin

如果用户名或密码包含at符号@,冒号:,斜杠/或百分号%字符,请使用百分比编码方式消除歧义 对于副本集群

bash
mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/admin?replicaSet=myRepl

如果开启了访问控制,请包括用户凭据:

bash
mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/admin?replicaSet=myRepl

对于分片集群

URI的主要组成

标准URI连接字符串包括以下部分:

ComponentDescriptionmongodb://一个必需的前缀,用于标识这是一个字符串 标准连接格式。username

@ (可选) 验证凭据。 如果指定,客户端将在连接后尝试使用这些凭据登录到特定数据库。 如果用户名或密码包含at符号@, 分号 :, 斜杆 /, 或者百分号% , 请记得使用百分号编码消除歧义 .

host[

] 运行mongod实例(或分片群集的mongos实例)的主机(和可选端口号)。 你可以指定主机名,IP地址或 UNIX domain socket。 根据你的部署拓扑指定任意数量的主机:

  • 对于独立的,请指定独立mongod实例的主机名。
  • 对于副本集,请指定副本集配置中列出的mongod实例的主机名。
  • 对于分片群集,请指定mongos实例的主机名。 如果未指定端口号,则使用默认端口27017。

/database(可选) 如果连接字符串包含username:password @形式的身份验证凭据,则要验证的数据库的名称。 如果未指定/database且连接字符串包含凭据,则驱动程序将对admin数据库进行身份验证。?(可选) 一个查询字符串,它将特定于连接的选项指定为<\name> = <\value>对。 有关这些选项的完整说明,请参见连接字符串选项。

如果连接字符串未指定数据库, 你必须在最后一个主机和开始选项字符串的问号(?)之间指定斜杠(/)。 DNS种子列表连接格式

[TO-DO] 连接字符串选项

连接选项是以下形式的对:name = value。 该值始终区分大小写。 带有&符号(即&)字符的单独选项。 在以下示例中,连接包括replicaSet和connectTimeoutMS选项:

bash
mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000

副本集选项

以下连接字符串指向名为myRepl的副本集,其成员在指定主机上运行:

bash
·mongodb://db0.example.com:27017,db1.example.com:27017,db2.example.com:27017/admin?replicaSet=myRepl

连接选项

ssl connectTimeoutMS socketTimeoutMS compressors zlibCompressionLevel 连接池选项

maxPoolSize minPoolSize maxIdleTimeMS waitQueueMultiple waitQueueTimeoutMS 写入关注选项

w journal wtimeoutMS 读取关注选项

readConcernLevel 读取偏好选项

读取首选项描述了与副本集有关的读取操作的行为。 这些参数允许你在连接字符串中基于每个连接指定读取首选项。 readPreference maxStalenessSeconds readPreferenceTags 验证选项

以下连接字符串到副本集指定了admin数据库的authSource。 也就是说,用户凭据已经过admin数据库的身份验证。

bash
mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/test?replicaSet=myRepl&authSource=admin

authSource authMechanism authMechanismProperties gssapiServiceName 服务器选择和发现选项

其他配置

appName retryWrites uuidRepresentation 一些例子

[TO-DO]

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!