选择连接目标
Overview
在本指南中,您可以学习;了解如何使用连接string和 MongoClient
对象连接到不同类型的MongoDB部署。
Atlas
要连接到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
参数的值。在副本集中指定多个主机。
以下示例展示如何使用ConnectionString
或MongoClientSettings
类连接到在三个不同主机的端口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表示形式,则当客户端连接到副本集成员时,列表可能为空。