文档菜单
文档首页
/ / /
Kotlin 同步驱动程序
/

创建 MongoClient

本页内容

  • 概述
  • 连接 URI
  • Atlas 连接示例
  • API 文档

要连接到 MongoDB 部署,您需要以下两样东西

  • 一个 连接 URI,也称为 连接字符串,它告诉 Kotlin 同步驱动程序连接到哪个 MongoDB 部署。

  • 一个 MongoClient 对象,它创建到 MongoDB 部署的连接并执行操作。

您还可以使用MongoClientSettings 来自定义 Kotlin 同步驱动程序在连接到 MongoDB 时的方式。

本指南向您展示了如何创建连接字符串并使用 MongoClient 对象连接到 MongoDB。

标准的连接字符串包括以下组件

组件
描述
mongodb://
必需。一个前缀,用于标识这是标准连接格式的字符串。
username:password
可选。认证凭据。如果您包含这些凭据,客户端将使用在 authSource 中指定的数据库对用户进行认证。
host[:port]
必需。MongoDB 运行的主机和可选端口号。如果您不包含端口号,驱动程序将使用默认端口,27017
/defaultauthdb
可选。如果连接字符串包含 username:password@ 认证凭据但没有 authSource 选项时使用的认证数据库。如果您不包含此组件,客户端将对 admin 数据库进行用户认证。
?<options>
可选。一个查询字符串,指定连接特定选项,格式为 <name>=<value> 对。请参阅指定连接选项,获取这些选项的完整描述。

有关创建连接字符串的更多信息,请参阅连接字符串(在 MongoDB 服务器文档中)。

要连接到 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)
}

有关使用 Kotlin Sync 驱动程序创建 MongoClient 对象的更多信息,请参阅以下 API 文档

返回

连接