Docs 菜单

新增功能

了解以下版本的 MongoDB Scala 驱动程序中引入的新功能、改进和修复:

5.4驾驶员发布包括以下更改、修复和功能:

  • 实现客户端端批量写入API ,允许您在同一调用中对多个数据库和集合执行写入操作。要学习;了解有关此功能的更多信息,请参阅批量写入操作指南中的 客户端批量写入部分。

  • 支持 CSFLE 和 QE 的 $lookup 操作。要学习;了解更多信息,请参阅服务器手册中的以下参考资料:

  • Introduces a Bill of Materials (BOM) to manage versions of MongoDB JVM artifacts that you might use in your application. To view instructions on adding the BOM to your application, see the mongodb-driver-bom dependency listing on the Maven Repository website. You can use the BOM only if you are using Maven as your dependency manager, as sbt does not support BOMs.

  • 将 AWS SDK 依赖项更新为 2.30.31 和 1.12.782,以测试 MONGODB-AWS身份验证机制。

  • ClientUpdateOneOptionsClientReplaceOneOptions 类添加排序选项。此更改允许您为客户端端批量写入中的更新和替换操作设立排序顺序。要学习;了解更多信息,请参阅批量写入操作指南中的更新操作替换操作部分。

  • 添加Kubernetes对 OIDC身份验证的支持。要学习;了解更多信息,请参阅 MongoCredential API文档。

  • 新增对以下Atlas Search查询符的一级支持:

    • phrase

    • regex

    • queryString

    • equals

    • moreLikeThis

    • in

    • wildcard

    To learn more, see the Search Operator Helper Methods section of the Aggregation guide.

  • 更新游标以在调用 close() 时刷新 timeoutMS 设置,而不影响操作超时。

  • 使您能够在通过指定 hint 选项调用 distinct() 方法时使用索引。

要查看此发布中的完整更改列表,请参阅 GitHub 上的v5.4发布说明

5.3驾驶员发布包括以下更改、修复和功能:

  • 重要提示:下一个次要发布将不再支持MongoDB Server版本4.0 ,并将支持的最低版本提高到4.2 。我们建议对应用程序进行更改以适应重大更改。 请参阅服务器手册中的“发布说明”部分,学习;了解有关升级的更多信息。

  • 添加 BinaryVector 类以实现用于向量存储和检索的BSON二进制子类型 9。 与 Double 实例列表相比,此类可更有效地存储值。 您可以根据向量包含的元素类型创建以下向量类型:

    • Int8BinaryVector:8 位有符号整数的向量

    • Float32BinaryVector:浮点数向量

    • PackedBitBinaryVector:二进制量化向量(处于beta,在正式发布之前可能会有更改)

    要学习;了解有关此功能的更多信息,请参阅Atlas文档中的矢量量化。要学习;了解此类型,请参阅 BinaryVector API文档。

  • 从连接池实施中删除显式公平性。 当您在许多应用程序线程中使用 MongoClient实例时,此更改可能会提高吞吐量。 但是,此更改可能会导致尾部延迟增加。

  • updateOne()replaceOne() 方法添加排序选项。 此更改还允许您在创建 ReplaceOneModelUpdateOneModel 实例时将排序设立为选项。 要学习;了解更多信息,请参阅更新文档、替换文档和批量写入操作指南。

重要

删除对MongoDB Server 3.6 的支持

Scala驾驶员v5.2删除了对MongoDB Server 3.6 的支持。要学习;了解有关服务器兼容版本的更多信息,请参阅兼容性

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

  • 允许设置客户端操作超时 (CSOT)。此功能允许您在MongoClient 实例上设立单个超时,该超时适用于使用该客户端执行的所有操作。要学习;了解更多信息,请参阅限制服务器执行时间指南。

    重要

    已弃用的超时选项

    以下超时选项已弃用:

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

    使用 CSOT功能来替换这些选项的功能。

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

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

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

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

    • 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 的问题。 此更改将向后移植到Scala驾驶员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快速入门并从语言下拉列表中选择 Scala

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

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

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

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

重要

MongoDB Server v 3.6 生命周期结束

此发布已弃用对MongoDB Server v 3.6的支持,并将在驾驶员v 5.2发布中删除。

要学习;了解v 5.1中引入的其他更改, 请参阅 Java Sync Driver文档中 的“新增功能” 指南。