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

开始使用Kotlin Sync驱动程序

您可以使用Kotlin Sync驾驶员连接到MongoDB并与之通信。 本指南向您展示如何创建一个应用程序,该应用程序使用Kotlin Sync驾驶员连接到MongoDB Atlas上托管的MongoDB 集群并与数据交互。

提示

MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。

按照本指南将示例Kotlin应用程序连接到MongoDB Atlas部署。 如果您希望使用不同的驾驶员或编程语言连接MongoDB ,请参阅官方 MongoDB 驱动程序的MongoDB。

本部分演示如何使用 Gradle Maven 创建项目并添加Kotlin Sync驾驶员依赖项。

1

首先,确保您的系统已安装 Kotlin 并在 JDK 1.8或更高版本上运行。

我们建议您使用 IntelliJ IDEA 或 Eclipse IDE 等集成开发环境配置 Gradle 或 Maven,以构建和运行项目。

提示

如果您未使用 IDE,请参阅创建新的 Gradle 版本指南或构建 Maven 指南,详细了解如何设置项目。

有关Kotlin入门和创建第一个项目的更多信息,请参阅 Kotlin/ Java虚拟机(JVM)入门 在Kotlin语言文档中。

2

在 IDE 中,创建新的MavenGradle项目。将MongoDB Java虚拟机(JVM)工件的物料清单 (BOM) 添加到项目中以组织依赖项版本。 BOM 确保您保持一致且兼容的依赖项版本,例如Kotlin Sync驾驶员和核心驾驶员程序库之间的依赖项版本,从而简化依赖项管理。使用 BOM 避免版本冲突并简化升级。

从以下 MavenGradle 标签页中进行选择,查看为每个依赖项管理器添加 BOM 的说明:

将以下代码添加到 pom.xml文件的 dependencyManagement 列表中:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-bom</artifactId>
<version>5.5.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

将以下代码添加到 build.gradle.kts文件的依赖项列表中:

dependencies {
implementation(platform("org.mongodb:mongodb-driver-bom:5.5.0"))
}

要查看 BOM 管理的依赖项列表,请参阅 Maven 存储库网站上的mongodb-driver-bom 依赖项列表

3

如果使用 Gradle管理软件包,请将以下条目添加到build.gradle.kts依赖项列表中:

build.gradle.kts
dependencies {
implementation("org.mongodb:mongodb-driver-kotlin-sync")
}

如果使用 Maven管理软件包,请将以下条目添加到pom.xml依赖项列表中:

pom.xml
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-kotlin-sync</artifactId>
</dependency>
</dependencies>

由于您安装了 BOM,因此可以省略Kotlin Sync驾驶员依赖项条目中的版本。您在 BOM 中指定的版本决定了要安装的依赖项版本。

配置依赖项后,运行依赖项管理器并在 IDE 中刷新项目,确保它们可用于您的项目。

4

要使驱动程序能够在 Kotlin 对象和 BSON(MongoDB 中文档的数据格式)之间进行转换,您还必须将以下一个或两个序列化包添加到您的应用程序中:

  • bson-kotlinx (推荐)

  • bson-kotlin

如果使用 Gradle 管理您的包,请将以下条目之一添加到您的 build.gradle.kts 依赖项列表中:

build.gradle.kts
implementation("org.mongodb:bson-kotlinx")
// OR
implementation("org.mongodb:bson-kotlin")

如果使用 Maven 管理您的包,请将以下条目之一添加到您的 pom.xml 依赖项列表中:

pom.xml
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson-kotlinx</artifactId>
</dependency>
<!--OR-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson-kotlin</artifactId>
</dependency>

配置依赖项后,运行依赖项管理器并在 IDE 中刷新项目,确保它们可用于您的项目。

要学习;了解有关这些包的详情,请参阅 Kotlin序列化。

完成这些步骤后,您就拥有了一个新的项目目录并安装了驱动程序依赖项。

您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。

1

请按照 Atlas 入门指南中的步骤,设置新的 Atlas 账户并将示例数据加载到新的免费套餐 MongoDB 部署中。

2

创建数据库用户后,请将用户的用户名和密码保存到安全位置,以便在后续步骤中使用。

完成这些步骤后,您就可以在 Atlas 上有一个新的免费套餐 MongoDB 部署,并建立数据库用户凭证,以及将示例数据加载到数据库中。

您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。

连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。

要连接到未托管在Atlas上的实例或部署,请参阅选择连接目标指南。

1

要检索您在上一步中创建的部署的连接字符串,日志登录您的Atlas帐户,导航到Database 部分,然后单击新部署的Connect 按钮。

Atlas 用户界面的集群部分中的连接按钮

进入Connect your application部分,然后从Driver选择菜单中选择Kotlin

选择Password (SCRAM)身份验证机制。

取消选择 Include full driver code example 选项以仅查看连接string 。

2

单击连接字符串右侧的按钮以将其复制到剪贴板,如以下屏幕截图所示:

Atlas 用户界面中的连接字符串复制按钮
3

将此连接字符串粘贴到您首选文本编辑器中的文件中,并将<username><password>占位符替换为数据库用户的用户名和密码。

将此文件保存到安全位置,以便在下一步中使用。

完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。

1

在项目中创建一个名为DemoDataClassExample.kt的文件。

将以下示例代码复制到该文件中,并将 <connection URI string> 占位符的值替换为您在上一步中保存的MongoDB Atlas连接string 。

DemoDataClassExample.kt
import com.mongodb.client.model.Filters.eq
import com.mongodb.kotlin.client.MongoClient
// Create data class to represent a MongoDB document
data class Movie(val title: String, val year: Int, val directors: List<String>)
fun main() {
// Replace the placeholder with your MongoDB deployment's connection string
val uri = "<connection URI string>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Movie>("movies")
// Find a document with the specified title
val doc = collection.find(eq(Movie::title.name, "Before Sunrise")).firstOrNull()
if (doc != null) {
// Print the matching document
println(doc)
} else {
println("No matching documents found.")
}
}

注意

此示例使用 Kotlin 数据类对 MongoDB 数据建模。

2

运行应用程序时,它会打印与查询匹配的电影文档的详细信息,如以下输出所示:

Movie(title=Before Sunrise, year=1995, directors=[Richard Linklater])

如果未看到任何输出或收到错误,请检查应用程序中是否包含正确的连接字符串。另外,确认您已成功将示例数据集加载到 MongoDB Atlas 集群中。

完成此步骤后,您就拥有一个正常运行的应用程序,它使用Kotlin Sync驾驶员连接到MongoDB 集群、对示例数据运行查询并打印结果。

3

前面的步骤演示了如何使用Kotlin数据类对示例集合运行查询以检索数据。 本节介绍如何使用 文档 类以在MongoDB中存储和检索数据。

在名为DemoDocumentExample.kt的文件中,粘贴以下示例代码,对MongoDB Atlas中的示例数据集运行查询。 将 <connection URI string> 占位符的值替换为MongoDB Atlas连接string :

DemoDocumentExample.kt
import com.mongodb.client.model.Filters.eq
import com.mongodb.kotlin.client.MongoClient
import org.bson.Document
fun main() {
// Replace the placeholder with your MongoDB deployment's connection string
val uri = "<connection URI string>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Document>("movies")
// Find a document with the specified title
val doc = collection.find(eq("title", "Before Sunrise")).firstOrNull()
if (doc != null) {
// Print the matching document
println(doc)
} else {
println("No matching documents found.")
}
}

运行应用程序时,它会打印与查询匹配的电影文档的详细信息,如以下输出所示:

Document{{_id=..., plot=A young man and woman ..., genres=[Drama, Romance], ...}}

如果未看到任何输出或收到错误,请检查应用程序中是否包含正确的连接字符串。另外,确认您已成功将示例数据集加载到 MongoDB Atlas 集群中。

完成这些步骤后,您有一个正常运行的应用程序,它使用驱动程序连接到 MongoDB 部署、对示例数据运行查询并打印结果。

恭喜您完成本教程!

注意

如果您在学习本教程时运行问题,请在MongoDB Community论坛中寻求帮助,或使用此页面右侧或右下角的 Rate this page标签页提交反馈。

在本教程中,您创建了一个Kotlin应用程序,该应用程序连接到MongoDB Atlas上托管的MongoDB 部署,并检索与查询匹配的文档。

通过以下资源了解详情有关Kotlin Sync驾驶员的更多信息:

后退

MongoDB Kotlin Sync驱动程序