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