创建 MongoClient
概述
要连接到 MongoDB 部署,您需要以下两样东西
一个 连接 URI,也称为 连接字符串,它告诉 Kotlin 同步驱动程序连接到哪个 MongoDB 部署。
一个 MongoClient 对象,它创建到 MongoDB 部署的连接并执行操作。
您还可以使用MongoClientSettings
来自定义 Kotlin 同步驱动程序在连接到 MongoDB 时的方式。
本指南向您展示了如何创建连接字符串并使用 MongoClient
对象连接到 MongoDB。
连接URI
标准的连接字符串包括以下组件
组件 | 描述 |
---|---|
mongodb:// | 必需。一个前缀,用于标识这是标准连接格式的字符串。 |
username:password | 可选。认证凭据。如果您包含这些凭据,客户端将使用在 authSource 中指定的数据库对用户进行认证。 |
host[:port] | 必需。MongoDB 运行的主机和可选端口号。如果您不包含端口号,驱动程序将使用默认端口, 27017 。 |
/defaultauthdb | 可选。如果连接字符串包含 username:password@ 认证凭据但没有 authSource 选项时使用的认证数据库。如果您不包含此组件,客户端将对 admin 数据库进行用户认证。 |
?<options> | 可选。一个查询字符串,指定连接特定选项,格式为 <name>=<value> 对。请参阅指定连接选项,获取这些选项的完整描述。 |
有关创建连接字符串的更多信息,请参阅连接字符串(在 MongoDB 服务器文档中)。
Atlas 连接示例
要连接到 Atlas 上的 MongoDB 部署,您必须首先创建一个客户端。
您可以将连接 URI 作为字符串传递给 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
对象,请使用构建方法来指定您的连接字符串,使用 applyConnectionString()
方法,以及任何其他客户端选项。一旦您有了所需的配置,请调用 build()
方法。
您可以将稳定的 API 版本客户端选项设置为在升级到新服务器版本时避免破坏性更改。有关稳定的 API 功能的更多信息,请参阅稳定 API 页面。
以下代码演示了如何在连接到 Atlas 上的 MongoDB 部署时指定连接字符串和稳定的 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 文档