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

新增功能

在此页面上

  • 5.2 中的新增功能
  • 5.1.3 中的新功能
  • 5.1.2 中的新功能
  • 5.1.1 中的新功能
  • 5.1 中的新增功能
  • 5.0 中的新增功能

了解以下版本中的新功能:

  • 版本 5.2

  • 版本 5.1.3

  • 版本 5.1.2

  • 版本 5.1.1

  • 版本 5.1

  • 版本 5.0

重要

删除对MongoDB Server 3.6 的支持

Kotlin Sync驾驶员v5.2 删除了对MongoDB Server3.6 的支持。要学习;了解有关服务器兼容版本的详情,请参阅 兼容性。

5.2驾驶员发布包括以下新功能、改进和修复:

  • 添加SearchIndexType 类,您可以在构造SearchIndexModel 实例时传递该类。此更改允许您在创建Atlas Search或 Vector Search索引时指定索引类型。要学习;了解更多信息,请参阅Atlas Search和 Vector Search 索引指南。

  • 将实施SCRAM-SHA-1SCRAM-SHA-256身份验证机制的算法委托给已配置的 JCA提供商来实现。 此更改意味着您的应用程序可以使用已配置的 FIPS 兼容 JCA提供商来提供更高级别的安全性。

  • 修改 mongodb-crypt 依赖项版本控制以匹配Java虚拟机(JVM)驱动程序的版本控制。未来版本的mongodb-crypt 将与驾驶员一起发布,并股票相同的版本号。您必须将mongodb-crypt 依赖项升级到 v 。 。5 20升级此发布的驾驶员时。要学习;了解更多信息,请参阅《正在使用的加密》指南。

  • 由于在所有支持的平台上实施了原生加密,因此性能得到提升。 以下列表描述了根据您的操作系统实现此改进所需的操作:

    • Windows :将mongodb-crypt版本升级到 v 5.2.0 。

    • Mac :将mongodb-crypt版本升级到 v 5.2.0 。

    • Linux :直接在文件系统上安装libmongocrypt.so ,而不是使用mongodb-crypt JAR文件中捆绑的文件。 您可以在服务器手册中找到安装libmongocrypt的Linux说明。 如果使用包管理器安装libmongocrypt , Java Native Access (JNA) 将在那里找到它,而无需进一步配置。 或者,您可以通过将LD_LIBRARY_PATH环境变量设置为libmongocrypt包的文件路径来指定搜索路径。

      我们建议直接安装,因为 OpenSSL 二进制文件可能不兼容,因此捆绑的共享库不会与 OpenSSL 链接。

      共享库加载由 JNA 处理。 您可以在 NativeLibrary 类文档 中查看库加载搜索路径顺序的规则。

  • 修复了导致InsertOneResult.getInsertedId()InsertManyResult.getInsertedIds()方法在某些情况下返回不正确文档ID 的问题。 此更改将向后移植到Kotlin Sync驾驶员v 5.1.4和 v 4.11.4 。

  • 当分片集群操作不成功时,如果有其他mongos服务器可用,则驾驶员会避免选择同一mongos服务器进行操作重试。

  • 添加应用程序使用 GraalVM 原生映像时所需的可访问性元数据。 此元数据取代了在使用驾驶员库时收集可达性元数据的需要。 要学习;了解详情,请参阅 可达性元数据 在 GraalVM 文档中。

    此更改不会添加libjnidispatchlibmongocrypt资源条目,因为为所有支持的平台(目标)添加条目会显着影响使用 GraalVM 原生映像构建的原生可执行文件的大小。 查看此示例 resource-config.json 驾驶员Github存储库中的 文件,查看在您的应用程序依赖于org.mongodb:mongodb-crypt 库的情况下如何显式指定这些条目。

  • 通过扩展VectorSearchOptions API引入以下特定选项子类型,从而启用精确向量搜索:

    • ExactVectorSearchOptions:使用此选项类型可启用精确匹配,确保结果是与给定查询向量最接近的向量。

    • ApproximateVectorSearchOptions:使用此选项类型可以启用可能不会返回精确的最近向量的搜索。 实例化此类型时,您可以传递numCandidates参数,以指定要考虑的最近邻数量。

    要学习;了解有关使用Atlas Vector Search功能的更多信息,请参阅Atlas Vector Search快速入门并从语言下拉列表中选择 Kotlin (Sync)

  • 添加对来自kotlinx-datetime库的序列化器的支持,该支持允许您将Kotlin日期和时间类型映射到BSON作为预期类型,而不是作为字符串。 要学习;了解更多信息,请参阅Kotlin序列化指南的序列化日期和时间部分。

  • 支持 JsonElement 的序列化 值。要使用JsonElement类型,必须将kotlinx-serialization-json库作为依赖项添加到应用程序中。

5.1.3 驾驶员补丁发布包括以下更改:

  • 修复了使用Cursor类型时可能导致断言错误的问题。

5.1.2 驾驶员补丁发布包括以下更改:

  • 支持使用可为 null 的泛型参数类型编码Kotlin数据类。 示例,您可以在以下代码中对Container类进行编码:

    @Serializable
    data class Box<T>(
    val boxed: T
    )
    @Serializable
    data class Container(
    val box: Box<String?>
    )

5.1.1 驾驶员补丁发布包括以下更改:

  • 使用 MONGODB-OIDC身份验证机制时,不得在 authMechanismProperties 连接string值中包含逗号字符。

警告

此版本中的弃用内容

为避免驱动程序的未来主要版本发生破坏性变更 (breaking change),请替换任何依赖于已弃用程序元素的应用程序代码。

本部分包括以下信息:

  • 对MongoDB Server v 3.6的支持已弃用,并将在下一驾驶员发布中删除。 要学习;了解如何升级MongoDB Server部署,请参阅MongoDB Server手册中的发布说明

  • GraalVM 原生映像技术的内部测试。这些测试涉及使用 GraalVM 原生映像工具构建原生应用程序。

  • 增强了对MONGODB-OIDC身份验证机制的支持。

  • 修复了以下问题:在使用多态MongoCollection实例时,操作使用了不正确的编解码器。 这可确保使用bson-kotlinx时鉴别器信息不会丢失。

  • 修复了以下问题:解码时类鉴别器是第一个字段,导致使用多态MongoCollection实例时出现字段类型错误。

  • 支持多态序列化。 要学习;了解更多信息,请参阅Kotlin序列化指南的多态序列化部分。

  • 引入serverMonitoringMode连接 URI 选项。 要学习;了解更多信息,请参阅指定连接选项指南。

5.0 驱动程序版本的新功能包括:

  • KotlinSerializerCodecProvider构造函数现在接受serializersModulebsonConfiguration对象:

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    这样可以更轻松地自定义配置。

  • 修复了导致container类型擦除的 Kotlin 反射错误。

后退

验证驱动程序签名