从旧版 API 迁移
概述
在本页中,您可以确定迁移到当前 API 必须进行的更改。您还可以了解当前 Java 驱动程序特有的功能和迁移到新 API 的好处。
旧版 API,作为mongodb-driver-legacy
JAR 包,包含旧版同步 Java 驱动程序,并使用驱动程序早期版本中使用的命名约定。
当前 API,作为 mongodb-driver-sync
JAR 包,包含当前同步 Java 驱动程序。它以 MongoCollection
接口作为 CRUD 操作的入口点。它不包含旧版 API。
要从旧版API迁移到当前API,请确保您的代码不再引用旧版API,并在必要时更新您的代码。然后,将应用程序依赖中的旧版API JAR及其包含的任何uber JAR替换为当前API JAR。
除了更新应用程序以处理必要的更改外,在将其部署到生产环境之前,始终检查选项和返回值之间的任何其他差异。
当前API优势
您可以使用每个新的MongoDB服务器版本继续使用旧版API。然而,旧版API不支持MongoDB服务器3.0或更高版本中引入的任何更新。此外,旧版API缺少对当前Java驱动器某些特性的支持。以下是一些仅在非旧版API中可用的功能:
更改流,MongoDB服务器的一项功能,用于监视单个集合、数据库或部署的实时更改
多文档ACID事务,确保对多个文档的读取和写入的原子性,并允许跨多个操作、集合、数据库、文档和分片进行事务
时间序列集合,存储一段时间内的测量序列,并提高时间序列数据的查询效率
可查询加密,允许您加密敏感的工作负载并查询加密数据
Java记录,或简洁的Java类,将业务逻辑与数据表示分离,并减少样板代码
原生POJO支持,提供MongoDB文档与Java对象之间的自动或自定义映射
有关当前API的更多功能信息,请参阅新增功能.
API更改
以下表格显示了旧版API和当前API之间类和方法名称的大部分更改。
旧版 | 当前 |
---|---|
除了前面提到的项目外,请考虑以下更改
当前API使用
Options
类和方法链,而不是重载方法。从驱动程序版本4.0开始,当前API默认使用宽松的JSON格式。如果您的应用程序依赖于严格的JSON格式,则在读取或写入数据时使用严格模式。有关如何在当前API中指定JSON格式的详细信息,请参阅文档数据格式:扩展JSON指南。
当前API中
MongoCollection
的默认泛型类型是org.bson.Document。如果它有助于您的迁移,可以将BasicDBObject指定为类型参数。当前API中,传递给
aggregate()
方法的聚合管道接受扩展Bson
接口的对象列表。在旧API中,它接受扩展DBObject
接口的对象列表。方法签名在API之间也不同。有关更多信息,请参阅以下API文档。
aggregate() 方法在当前API中
aggregate() 方法在旧版API中
Bson 接口
DBObject 接口