Docs 菜单
Docs 主页
/ / /
java sync

新增功能

在此页面上

  • 即将发生的破坏性变更 (breaking change)
  • 4.7.1 中的新增功能
  • 4.7 中的新增功能
  • 4.6 的新增功能
  • 4.5.1 中的新增功能
  • 4.5 中的新增功能
  • 4.4 中的新增功能
  • 4.3 的新增功能
  • 4.2 的新增功能
  • 4.1 中的新增功能
  • 4.0 中的新增功能

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

  • MapReduceIterable MongoCollection 上的 map-reduce方法 在MongoDB v 中已弃用。42和更高版本。 它们将被聚合框架取代,并在未来的发布中删除。

4.7.1 驾驶员程序修复了影响客户端字段级加密和可Queryable Encryption的错误。 在轮换使用 GCPKMS或 上托管的 客户主密钥 加密的 数据加密密钥(DEK) 时,该错误可能会导致数据损坏。Azure Key Vault该错误存在于 RewrapManyDataKey方法中驾驶员4.7.0版本中,会导致您的 DEK 丢失。

重要

备份密钥保管库集合

轮换 DEK 之前,请务必备份密钥保管库集合。如果丢失了 DEK,则无法访问使用这些密钥加密的所有数据。

警告

v4.7 的重大更改

v 4.7驾驶员包含重大更改。 有关更多信息,请参阅版本4.7重大更改

4.7 版驱动程序的新增功能包括:

  • 已添加对 MongoDB 6.0 的全面支持。

  • 添加了以下变更流支持改进:

    • 增强了对变更流的前图像和后图像支持。变更流监视助手现在接受 whenAvailablerequired 作为 fullDocument 选项。如需了解更多信息,请参阅变更流参考文档。

    • 新增 fullDocumentBeforeChange 选项,可接受 whenAvailablerequired

    • 更改事件在配置为显示在 MongoDB 集合上时,现在包含 fullDocumentBeforeChange 字段。

    • 已添加对变更流的 showExpandedEvents 支持。

    • ChangeStreamDocument 类增加了 wallTime 支持。

  • 已添加集群索引创建支持。

  • 支持与Queryable Encryption相关的新功能,包括支持自动加密(MongoDB v 6.0 Enterprise 或更高版本)和手动加密。

    • 支持新的Queryable Encryption共享库,从而不再需要mongocryptd进程。 Queryable Encryption共享库需要 org.mongodb:mongodb-crypt 1.5.1.1或更高版本。

  • 为加密密钥管理添加了新的 API。

  • 为其他聚合阶段添加了构建器API方法,包括$search / $searchMeta (仅限Atlas )、 $densify$fill 。 在聚合生成器页面了解详情有关这些方法的更多信息。

  • 添加了可用于 POJO 编码和解码的 BsonExtraElements 注解。BsonExtraElements 可以解码将来可能接收新字段的对象,而无需开发人员显式映射这些新字段。

  • 性能优化包括:

    • 服务器会话池和缓冲池的无锁实现。

    • 新的 DBCursor 清理实现,使用 Java 的 Cleaner API 而不是 finalization,在 Java 9 或更高版本中可用。

  • setWindowFields 生成器 API 不再是测试版功能。更改 API 会破坏二进制和源代码的兼容性。有关详情,请参阅版本 4.7 重大更改

4.6 版 Java 驱动程序的新增功能包括:

如果 DNS 服务器返回 NXDomain 错误,则表示不存在某个域,因而 4.5.1 驱动程序不再引发异常。

4.5 版 Java 驱动程序的新增功能包括:

  • 已添加对指定 SRV 资源记录自定义服务名称的支持。如需了解更多信息,请参阅“连接选项”指南中的 srvServiceName 设置。

  • 增加了对使用 CodecRegistries.withUuidRepresentation() 方法在编解码器注册表中自定义 UUID 表示形式的支持。

  • 已添加在 ClusterSettingsServerSettingsConnectionPoolSettings 生成器中覆盖监听器设置的支持。

  • 现在,当不同 MongoClient 实例不共享监听器时,ClusterListenerServerListenerServerMonitorListener 收到的所有事件都会使用 happens-before 关系完全排序。如需了解有关 happens-before 排序的更多信息,请参阅“Java 语言规范”中的“Happens-before 排序”。

  • 添加了EnumCodecEnumCodecProvider类,以便将enum类型的编解码器支持与PojoCodec类分开。 可通过MongoClientSettingsBson接口访问的默认编解码器注册表现在包含enum编解码器类。 如果应用程序使用自定义枚举编解码器和默认注册表之一,请确保按照重写编解码器部分中的描述对它们进行排序。

  • 解决了影响4.4和4.3版驾驶员的性能问题。 此版本的性能应与4.2中的性能相似。

  • 已解决因检索集群描述而产生的错误未传递至 onError 订阅者回调的问题

  • 解决了启用压缩后连接时释放 ByteBuf 实例的问题。

  • org.mongodb.driver-core OSGi 包中删除了对 javax.annotation.* 包的不必要依赖。

4.4 版 Java 驱动程序的新增功能包括:

  • 与 MongoDB 5.1 兼容并支持 Java 17

  • 已在下列位置添加对索引提示的支持: AggregateIterable

  • 增加了对从节点上 $merge$out 聚合阶段的支持

  • Updates 构建器中使用 mergeObjects() 方法

  • DocumentCodec 在写入 IterableMap 实例时不会忽略 CodecRegistry

4.3 版 Java 驱动程序的新增功能包括:

  • 已添加对 MongoDB 稳定版 API 的支持。如需了解更多信息,请参阅我们的“稳定版 API”指南。

    注意

    从 2022 年 2 月开始,版本化 API 被称为 Stable API。此次命名更改后,所有概念和功能均保持不变。

  • 已添加对连接“MongoDB Atlas 无服务器实例”的支持。有关设置的更多信息,请参阅我们的文档:了解如何创建新的无服务器实例

  • setWindowFields 管道阶段添加了生成器 API,允许使用窗口操作符

  • 添加了对设置 Netty io.netty.handler.ssl.SslContext 的支持

  • 添加了支持快照读取 ClientSession

  • 限制每个连接池建立新连接的速度

  • 删除了对插入或替换文档字段名中允许字符的大部分限制。对于任何依赖项客户端执行这些限制的应用程序来说,这都是一种行为更改。

下表显示了文档字段名称中允许使用的字符的限制状态:

字符
操作
说明
.
插入和替换
删除了对包含此字符的字段名称的限制。
$
Insert
删除了对以此字符开头的字段名称的限制。
$
替换
已删除嵌套文档中对包含此字符的字段名称的限制。
$
替换
保持顶层文档中对以此字符开头的字段名称的限制。这样可以防止在打算使用更新操作时意外使用替换操作。

注意

使用美元前缀或虚线键执行的未确认写操作可能会被 5.0 之前的版本静默拒绝。服务器,对字段名称的某些限制仍在服务器中执行。

警告

v4.2 的重大更改

v4.2 驱动程序包含重大更改。有关详情,请参见版本 4.2 重大更改

4.2 版 Java 驱动程序的新增功能包括:

  • 向客户端字段级加密添加 Azure 与 GCP 密钥存储库

  • 添加了 Kerberos 缓存票证,以便在多个身份验证请求中重复使用

  • 添加 了 MongoClientsMongoClientSettingsConnectionString 作为配置的实例

  • 查找聚合命令中使用 explain() 方法

  • 添加了 JsonObject 类,通过避免中间的 Map 表示,使 JSON 的编码和解码更加高效

  • 添加了 BsonRepresentation 注解,允许您将ObjectId BSON 值表示为String POJO 中的 类

  • 增加了 Filters.empty() 方法

4.1 版 Java 驱动程序的新增功能包括:

  • 在计划维护事件期间,客户感知到的故障转移时间显著减少

  • update() delete() 方法现在支持索引提示

  • find() 方法支持 allowDiskUse(),用于需要过多内存才能在 RAM 中执行的排序。

  • 增加了对使用 Amazon Web Services (AWS) 身份和访问管理 (IAM) 凭证的 MONGODB-AWS 身份验证机制的支持

  • 身份验证需要减少往返服务器的次数,从而加快连接设置

警告

v4.0 中的重大变化

v4.0 驱动程序包含重大更改。有关详情,请参见版本 4.0 重大更改

此版本未添加任何新功能。

后退

快速参考