Docs 菜单

Docs 主页开发应用程序MongoDB 驱动程序java sync

从旧版 API 迁移

在此页面上

  • 概述
  • 当前 API 的优势
  • API 变更

在此页面上,您可了解从旧版 API 迁移到当前 API 时必须执行的更改。此外,您还可了解当前 Java 驱动程序的独特功能,以及迁移到新 API 的好处。

打包为 mongodb-driver-legacy JAR 的旧版 API 包含传统旧版 Java 驱动程序,并使用该驱动程序早期版本中使用的命名规范。

当前 API(封装为 mongodb-driver-sync JAR)包含当前的同步 Java 驱动程序。它将 MongoCollection 接口作为 CRUD 操作的入口点。它不包含旧版 API。

要从旧版 API 迁移到当前 API,请确保代码不再引用旧版 API,必要时更新代码。然后,在应用程序依赖项中,用当前 API JAR 替换旧版 API 以及任何包含它的 uber JAR。

除更新应用程序以处理所有必要的更改之外,在将其投入到生产环境之前,请务必检查各选项和返回值中是否存在任何其他差异。

您可以继续在新的 MongoDB Server 版本中使用旧版 API。不过,旧版 API 不支持 MongoDB Server 3.0 或更高版本所引入的任何更新。此外,旧版 API 不支持当前 Java 驱动程序的某些功能。一些仅在非旧版 API 中提供的功能包括:

  • 变更流是 MongoDB Server 的一项功能,旨在监控单个集合、数据库或部署的实时更改

  • 多文档 ACID 事务,确保多个文档读写的原子性,并允许跨多个操作、集合、数据库、文档和分片进行事务处理

  • 时间序列集合,存储一段时间内的测量序列,提高时间序列数据的查询效率

  • 可查询加密,支持您加密敏感工作负载并查询加密数据

  • Java 记录或简洁的 Java 类,将业务逻辑与数据表示分离并减少了样板代码

  • 原生 POJO 支持,提供 MongoDB 文档和 Java 对象之间的自动或自定义映射

要了解当前 API 的更多功能,请参阅新增功能

下表显示了旧版 API 和当前 API 中类和方法名称的大部分变更。

遗留
Current
MongoClientOptions
MongoCollection.find().first()

有关这些方法,请参阅以下 API 文档页面:

除上述列项外,还可考虑以下变更:

  • 当前 API 使用 Options 类和方法链,而不是重载方法。

  • 当前 API 在驱动程序版本 4.0 及更高版本中默认使用宽松 JSON 格式。如果应用程序依赖于严格 JSON 格式,请在读取或写入数据时使用严格模式。请参阅文档数据格式:扩展 JSON 指南,了解如何在当前 API 中指定 JSON 格式。

  • 对于当前 API 中的 MongoCollection,默认通用类型是 org.bson.Document。如果 BasicDBObject 可以简化迁移,则您可以将其指定为类型参数。

  • 在当前 API 中,您传递给 aggregate() 方法的聚合管道接受扩展 Bson 接口的对象列表,而在旧版 API 中,它接受扩展 DBObject 接口的对象列表。

    API 之间的方法签名也有所不同。请参阅以下 API 文档了解更多信息:

← 升级驱动程序版本