开始使用Kotlin Sync驱动程序
Overview
您可以使用Kotlin Sync驾驶员连接到MongoDB并与之通信。 本指南向您展示如何创建一个应用程序,该应用程序使用Kotlin Sync驾驶员连接到MongoDB Atlas上托管的MongoDB 集群并与数据交互。
提示
MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。
按照本指南将示例Kotlin应用程序连接到MongoDB Atlas部署。 如果您希望使用不同的驾驶员或编程语言连接MongoDB ,请参阅官方 MongoDB 驱动程序的MongoDB。
下载并安装
本部分演示如何使用 Gradle 或 Maven 创建项目并添加Kotlin Sync驾驶员依赖项。
创建Kotlin项目
首先,确保您的系统已安装 Kotlin 并在 JDK 1.8或更高版本上运行。
我们建议您使用 IntelliJ IDEA 或 Eclipse IDE 等集成开发环境配置 Gradle 或 Maven,以构建和运行项目。
提示
如果您未使用 IDE,请参阅创建新的 Gradle 版本指南或构建 Maven 指南,详细了解如何设置项目。
有关Kotlin入门和创建第一个项目的更多信息,请参阅 Kotlin/ Java虚拟机(JVM)入门 在Kotlin语言文档中。
添加驱动程序物料清单
在 IDE 中,创建新的Maven或Gradle项目。将MongoDB Java虚拟机(JVM)工件的物料清单 (BOM) 添加到项目中以组织依赖项版本。 BOM 确保您保持一致且兼容的依赖项版本,例如Kotlin Sync驾驶员和核心驾驶员程序库之间的依赖项版本,从而简化依赖项管理。使用 BOM 避免版本冲突并简化升级。
从以下 Maven 和 Gradle 标签页中进行选择,查看为每个依赖项管理器添加 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 依赖项列表。
添加 MongoDB 作为依赖项
如果使用 Gradle管理软件包,请将以下条目添加到build.gradle.kts
依赖项列表中:
dependencies { implementation("org.mongodb:mongodb-driver-kotlin-sync") }
如果使用 Maven管理软件包,请将以下条目添加到pom.xml
依赖项列表中:
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-kotlin-sync</artifactId> </dependency> </dependencies>
由于您安装了 BOM,因此可以省略Kotlin Sync驾驶员依赖项条目中的版本。您在 BOM 中指定的版本决定了要安装的依赖项版本。
配置依赖项后,运行依赖项管理器并在 IDE 中刷新项目,确保它们可用于您的项目。
添加序列化库依赖项
要使驱动程序能够在 Kotlin 对象和 BSON(MongoDB 中文档的数据格式)之间进行转换,您还必须将以下一个或两个序列化包添加到您的应用程序中:
bson-kotlinx
(推荐)bson-kotlin
如果使用 Gradle 管理您的包,请将以下条目之一添加到您的 build.gradle.kts
依赖项列表中:
implementation("org.mongodb:bson-kotlinx") // OR implementation("org.mongodb:bson-kotlin")
如果使用 Maven 管理您的包,请将以下条目之一添加到您的 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 部署
您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。
在 Atlas 上创建免费 MongoDB 部署
请按照 Atlas 入门指南中的步骤,设置新的 Atlas 账户并将示例数据加载到新的免费套餐 MongoDB 部署中。
完成这些步骤后,您就可以在 Atlas 上有一个新的免费套餐 MongoDB 部署,并建立数据库用户凭证,以及将示例数据加载到数据库中。
创建连接字符串
您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。
连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。
要连接到未托管在Atlas上的实例或部署,请参阅选择连接目标指南。
完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。
运行示例查询
创建应用程序文件
在项目中创建一个名为DemoDataClassExample.kt
的文件。
将以下示例代码复制到该文件中,并将 <connection URI string>
占位符的值替换为您在上一步中保存的MongoDB Atlas连接string 。
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 数据建模。
使用文档类对数据进行建模(替代方案)
前面的步骤演示了如何使用Kotlin数据类对示例集合运行查询以检索数据。 本节介绍如何使用 文档 类以在MongoDB中存储和检索数据。
在名为DemoDocumentExample.kt
的文件中,粘贴以下示例代码,对MongoDB Atlas中的示例数据集运行查询。 将 <connection URI string>
占位符的值替换为MongoDB Atlas连接string :
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 ”部分了解如何执行写入操作。