在本教程中,我们将探讨为什么Kotlin编程语言与MongoDB配合得很好。我们将提供一些使用数据类和协程等新编程语言入门的示例。
目录
Kotlin是一种现代的跨平台、静态类型编程语言,它在解决Java中的一些常见问题的同时,也完全与Java兼容,并与JVM(或Java虚拟机)兼容。作为编程语言,Kotlin在Java之上具有一些优势,包括内置的空安全、数据类和协程。
尽管Kotlin的主要用例是用于Android应用的移动开发,但有一个不断壮大的Kotlin用户社区正在使用该语言进行服务器端开发。
MongoDB在多个列表中占据着最受欢迎的NoSQL数据库技术的首位。它是一个文档数据库,用于构建高度可用和可扩展的互联网应用。MongoDB成立于2007年,在开发者社区中拥有全球性的追随者。MongoDB始终致力于为开发者提供卓越的用户体验,这使得MongoDB成为全球开发者喜爱的数据库。
如果您正在构建新事物并且需要数据库,从开始就考虑使用MongoDB Atlas。Atlas将为您提供一项完全托管、云原生数据库服务,其中包括全文搜索、图表、合作伙伴集成等功能。您甚至可以在MongoDB Atlas上直接构建基于GraphQL的Web应用程序。
MongoDB非常适合使用Kotlin进行服务器端开发。MongoDB于2023年6月推出了官方服务器端Kotlin驱动程序。MongoDB Kotlin驱动程序提供了一套完整的库,用于以符合Kotlin的方式构建Kotlin应用程序,包括对同步开发和异步编程(使用Kotlin协程和Kotlinx.serialization库)的一等支持。
要使用MongoDB Kotlin驱动进行服务器端开发,您需要安装Kotlin。您还需要创建一个MongoDB集群来存储和管理您应用程序中使用的所有数据。完成Atlas入门指南,以设置新的Atlas账户,创建并启动免费的MongoDB集群,加载示例数据集,并与数据交互。
完成Atlas指南中的步骤后,您应该在Atlas中部署了一个新的MongoDB集群,创建了一个新的数据库用户,并将示例数据集加载到了您的集群中。
MongoDB Kotlin驱动使用连接字符串来连接到您的MongoDB集群。此字符串包含有关集群的主机名或IP地址和端口的详细信息,认证机制,以及当适用时的用户凭证和其他连接选项。
要获取用于与Kotlin驱动一起使用的连接字符串,请导航到您的Atlas账户中的数据库部分,并点击您想连接的集群的连接。您将需要选择您的驱动程序和版本,然后您就可以复制您的连接字符串了。请记住在字符串中替换自己的用户名和密码!
为了轻松配置Gradle或Maven来构建和运行您的项目,我们建议您使用像IntelliJ IDEA或Eclipse这样的IDE。您需要将MongoDB作为依赖项添加。有关如何添加MongoDB Kotlin驱动依赖项的更多说明,请在此处查看。
您应该已经从之前的步骤中在MongoDB集群中加载了一个示例数据集(见:MongoDB Atlas入门指南以获取更多说明)并且可以轻松访问您的连接字符串。
要从您的应用程序查询MongoDB集群,您需要创建一个表示MongoDB文档的数据类,并编写一个包含您的集群URI的主函数。完整的教程和示例代码可以在此处找到。
CRUD(创建、读取、更新、删除)操作使您能够与存储在MongoDB中的数据进行交互。您可以将这些操作分为两个类别:读取和写入。
读取操作用于查找并返回数据库中存储的文档。一些读取操作的示例包括
写入操作允许您更改存储在数据库中的信息。一些写入操作的示例包括
使用 insertOne() 或 insertMany() 插入文档 插入文档
使用查询过滤器通过 deleteOne() 或 deleteMany() 删除文档 删除文档
使用 updateOne() 或 updateMany() 更改文档 更改文档
为了减少对数据库的调用次数,您还可以使用批量操作。有关批量操作的更多信息,请参阅文档。文档还包括帮助您入门的代码示例。
正如其名,Kotlin 中的数据类是主要用来存储数据的类。编译器会根据类构造函数中声明的属性自动推导出多个成员。这些成员包括 equals() 和 hashCode()、toString() 等。
Kotlin 服务器端驱动程序原生支持使用默认编解码器注册表(一组定义如何编解码 Java 和 Kotlin 类型的类集合)对 MongoDB 读写操作进行 Kotlin 数据类的编解码。
您可以使用 Kotlin 驱动程序插入和检索数据类,以及配置数据类的序列化行为。有关 Kotlin 驱动程序中对数据类支持的更多信息,请参阅此处。
要查找 Kotlin 驱动程序的语法、代码示例以及与相关参考和 API 文档的链接,请查阅 Kotlin 驱动程序文档中的快速参考。
要深入了解 MongoDB 核心概念,请访问 MongoDB 大学!它提供自助视频课程、按需实验室、带有数字徽章的认证等。有关 Kotlin 专门的代码示例和教程,请尝试MongoDB 开发者中心。
如果您是 Kotlin 新手,请考虑查阅Kotlin 文档或查看freeCodeCamp上的 Kotlin 教程。
MongoDB 最大的优点是其充满活力的开发者社区,其中包括所有级别经验的 Kotlin 服务器端驱动程序和 Kotlin Realm SDK 用户。对于一般问题的支持,最佳方式是使用MongoDB 社区论坛。
KMongo 是一个非官方的社区驱动程序,旨在解决 Kotlin 服务器端支持的需求。官方 MongoDB 服务器端驱动程序与 KMongo 类似,因为两者都依赖于 MongoDB Java 驱动程序“底层”,但只有 MongoDB 服务器端 Kotlin 驱动程序提供官方支持和维护。
Kotlin 最受欢迎的使用场景之一是 Android 开发。自 2019 年以来,Android 移动开发已经以 Kotlin 为首。然而,近一半的 Kotlin 开发者正在使用该语言进行服务器端开发。由于 Kotlin 的可扩展性、与基于 Java 的框架的互操作性以及其工具,Kotlin 是服务器端应用程序的理想选择。Kotlin 甚至在 IntelliJ IDEA Ultimate 插件中提供针对特定框架的工具。
Java 和 Kotlin 都是运行在 Java 虚拟机 (JVM) 上的强大编程语言,但两者之间存在着差异。
Kotlin 是一种旨在解决 Java 中常见的一些问题的新语言,它具有函数类型、协程和内置的空安全特性,以及更简洁的语法,从而减少了代码行数。它支持面向对象编程和函数式编程。然而,Java 的应用更为广泛,拥有更多熟悉该语言的开发者。
这两种语言是可互操作的,这意味着你可以从 Java 代码中调用 Kotlin 代码,反之亦然。