📅  最后修改于: 2023-12-03 15:41:10.836000             🧑  作者: Mango
srv
或 standard
)当开发人员构建应用程序时,需要与数据库进行交互。 连接字符串是用于连接到数据库的字符串,它包含所有必要的信息,例如数据源的位置、数据库的名称、凭据等。
在MongoDB中,支持两种连接字符串格式:srv
和standard
。他们之间主要的区别是SRV记录类型的DNS解析,它们可以自动发现具有相同SRV记录的其他主机。
standard
连接字符串standard
连接字符串格式如下:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
其中,以下是连接字符串的各个要素解释:
mongodb://
是指定协议(mongodb)的标识符。
username:password@
是用于身份验证的用户名和密码(如果适用)。
host1[:port1],host2[:port2],...[,hostN[:portN]]
是一个或多个用逗号分隔的主机和端口对。 如果端口未指定,则默认为27017。
/database
是要连接的数据库名称。 如果未指定数据库,则默认使用“admin”。
?options
是可选的连接选项。
例如,以下是连接到本地主机上运行的MongoDB实例的标准连接字符串的示例:
mongodb://localhost:27017/myDatabase
srv
连接字符串srv
连接字符串格式如下:
mongodb+srv://[username:password@]host[/[database][?options]]
其中,以下是连接字符串的各个要素解释:
mongodb+srv://
是指定协议(mongodb)和SRV记录类型的标识符。
username:password@
是用于身份验证的用户名和密码(如果适用)。
host
是具有SRV记录的主机。 在SRV记录类型的DNS解析期间,其他主机将具有相同的SRV记录。不像标准连接字符串,不需要在连接字符串中指定端口号。
/database
是要连接的数据库名称。 如果未指定数据库,则默认使用“admin”。
?options
是可选的连接选项。
例如,以下是连接到运行在MongoDB Atlas上的使用SRV记录类型的示例:
mongodb+srv://user:password@cluster0.mongodb.net/myDatabase
在实际使用中,根据具体情况选择使用哪种连接字符串格式。我们还可以在连接字符串中传递一些选项,例如连接超时、读取偏好等。 我们可以在MongoDB Connector for Node.js的官方文档中查看更多选项的详细信息。
MongoDB提供了两种不同的URI模式,可用于连接到服务实例。
MongoDB URI可以配置为使用standard或SRV的DNS记录类型。
SRV记录类型URI需要你的DNS服务器支持该记录类型。