Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ / /
Kotlin Sync 驱动程序
/

选择连接目标

在本指南中,您可以学习;了解如何使用连接string和 MongoClient对象连接到不同类型的MongoDB部署。

要连接到MongoDB 上的Atlas 部署,请在连接string 中包含以下元素:

  • Atlas 集群的URL

  • 您的MongoDB 数据库用户名

  • 您的MongoDB 数据库密码

然后,将连接string传递给 MongoClient 构造函数。

提示

按照 Atlas驱动程序连接指南检索连接string 。

当您连接到Atlas时,我们建议使用 Stable API客户端选项,以避免Atlas升级到新版本的MongoDB Server时发生重大更改。要学习;了解有关 Stable API功能的更多信息,请参阅 “使用 Stable API连接”指南。

以下代码展示了如何使用Kotlin Sync驾驶员连接到Atlas 集群。 该代码还使用serverApi()方法指定 Stable API版本。

// Defines Stable API version
val serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.build()
// Uses MongoClientSettings to apply connection string and specify the Stable API version
val settings = MongoClientSettings.builder()
.applyConnectionString("<connection string URI>")
.serverApi(serverApi)
.build()
val mongoClient = MongoClient.create(settings)

要连接到本地 MongoDB 部署,请使用localhost作为主机名。 默认情况下, mongod进程在端口27017上运行,但您可以根据部署进行自定义。

以下代码展示了如何使用Kotlin Sync驾驶员连接到本地MongoDB 部署:

val settings = MongoClientSettings.builder()
.applyConnectionString("mongodb://localhost:27017")
.build()
val mongoClient = MongoClient.create(settings)

要连接到副本集,请指定副本集成员的主机名(或IP地址)和端口号。

如果您无法提供副本集主机的完整列表,则可以指定副本集集中的一个或多个主机,并指示Kotlin Sync驾驶员执行自动发现以查找其他主机。 要指示驾驶员执行自动发现,请执行以下操作之一:

  • 将副本集的名称指定为 replicaSet 参数的值。

  • false 指定为 directConnection 参数的值。

  • 在副本集中指定多个主机。

以下示例展示如何使用ConnectionStringMongoClientSettings类连接到在三个不同主机的端口27017上运行的MongoDB副本集。 选择与您的首选课程对应的标签页。

val mongoClient = MongoClient.create("mongodb://host1:27017,host2:27017,host3:27017/")
val hosts = listOf(
ServerAddress("host1", 27017),
ServerAddress("host2", 27017),
ServerAddress("host3", 27017)
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder ->
builder.hosts(hosts)
}
.build()
val mongoClient = MongoClient.create(settings)

注意

当副本集在Docker中运行时,它可能只公开一个MongoDB端点。在这种情况下,无法发现副本集。在连接 URI 中指定 directConnection=false 或未设置此选项,可能会阻止应用程序与之连接。

在测试或开发环境中,您可以通过指定 directConnection=true 来连接到副本集。在生产环境中,我们建议配置集群,以便每个 MongoDB 实例都可以在 Docker 虚拟网络之外访问。

要使用 DNS 服务发现来查找要连接的服务的 DNS SRV记录,请在连接字符串中指定 SRV 连接格式。 如果指定此格式, Kotlin Sync驾驶员会自动重新扫描新主机。您的部署可以将主机添加到其拓扑结构中,而无需更改客户端配置。

以下代码显示了使用 SRV 连接格式的连接字符串:

val uri = "mongodb+srv://<hostname>/"

要学习;了解有关 SRV 连接格式的更多信息,请参阅MongoDB Server手册中的 SRV 连接格式 条目。

后退

创建 MongoClient

在此页面上