创建 MongoClient
Overview
要连接到 MongoDB 部署,您需要满足两个条件:
连接 URI (也称为连接string ),用于告知Kotlin Sync驾驶员要连接到哪个MongoDB部署。
一个MongoClient对象,用于创建与MongoDB 部署的连接并对其执行操作。
您还可以使用 MongoClientSettings
自定义Kotlin Sync驾驶员在连接到MongoDB时的行为方式。
本指南向您介绍如何创建连接string并使用 MongoClient
对象连接到MongoDB 。
连接 URI
标准连接string包括以下组件:
组件 | 说明 |
---|---|
mongodb:// | 必需。将其标识为标准连接格式中字符串的前缀。 |
username:password | 可选。 身份验证凭证。 如果包含这些内容,客户端将根据 authSource 中指定的数据库对用户进行身份验证。 |
host[:port] | 必需。 运行 MongoDB 的主机和可选端口号。 如果不包含端口号,驱动程序将使用默认端口 27017 。 |
/defaultauthdb | 可选。 如果连接string包含 username:password@ 身份验证档案但不包含 authSource 选项,则要使用的身份验证数据库。 如果不包含此组件,客户端将根据admin 数据库对用户进行身份验证。 |
?<options> | 可选。 一个查询string ,它将特定于连接的选项指定为 <name>=<value> 对。 有关这些选项的完整说明,请参阅指定连接选项。 |
Atlas 连接示例
要连接到Atlas上的MongoDB 部署,必须首先创建一个客户端。
您可以将连接 URI 以string形式传递给 MongoClient.create()
方法,以连接到MongoDB实例:
// Replace the placeholder with your Atlas connection string val uri = "<connection string>" // Create a new client and connect to the server val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix")
您还可以通过将MongoClientSettings
对象传递给MongoClient.create()
方法来创建具有所需配置的客户端。
要实例化 MongoClientSettings
对象,请使用构建器方法指定连接string 、使用 applyConnectionString()
方法以及任何其他客户端选项。 获得所需配置后,调用build()
方法。
您可以设置 stable API 版本客户端选项,以避免升级到新服务器版本时发生破坏性变更 (breaking change)。要了解有关 Stable API 功能的更多信息,请参阅Stable API 页面。
以下代码展示了在连接到 Atlas 上的 MongoDB 部署时,如何指定连接字符串和 Stable API 客户端选项,并检查连接是否成功:
// start-connect-to-atlas-w-uri // Replace the placeholder with your Atlas connection string val uri = "<connection string>" val mongoClient1 = MongoClient.create(uri) // end-connect-to-atlas-w-uri // Construct a ServerApi instance using the ServerApi.builder() method val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() // Create a new client and connect to the server val mongoClient = MongoClient.create(settings) val database = mongoClient.getDatabase("sample_mflix") try { // Send a ping to confirm a successful connection val command = Document("ping", BsonInt64(1)) val commandResult = database.runCommand(command) println("Pinged your deployment. You successfully connected to MongoDB!") } catch (me: MongoException) { System.err.println(me) }
API 文档
有关使用Kotlin Sync驾驶员创建MongoClient
对象的更多信息,请参阅以下API文档: