Docs 菜单
Docs 主页
/ / /
Kotlin Sync 驱动程序
/

选择连接目标

在此页面上

  • 概述
  • 阿特拉斯
  • 本地部署
  • 副本集

在本指南中,您可以了解如何使用连接字符串和 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)

注意

MongoClient构造函数是非阻塞的。 连接到副本集时,构造函数会立即返回,而客户端会使用后台线程连接到副本集。

如果构造 MongoClient 并立即打印其 nodes 属性的string表示形式,则当客户端连接到副本集成员时,列表可能为空。

后退

创建 MongoClient