spring-boot mongodb 4.0 兼容性

Posted

技术标签:

【中文标题】spring-boot mongodb 4.0 兼容性【英文标题】:spring-boot mongodb 4.0 compatibility 【发布时间】:2019-03-10 14:08:14 【问题描述】:

spring-boot 的哪个版本与MongoDB 4.0 兼容?

有没有一种可取的方式来使用spring-boot 2.0.5 RELEASEMongoDB 4.0

或者更好地使用spring boot 2.0.5,它有mongo驱动版本3.6.x和MongoDB 3.6`?

【问题讨论】:

【参考方案1】:

我认为使用 mongodb 4.0 并不一定需要最新的驱动程序和 spring 数据 mongo;但是在spring data changelog 中,您可以看到有关驱动程序和数据库更新的各种更改,您可以看到在版本2.1.0.RC1 中,他们开始添加对版本4.0 的数据库以及版本1.10.15.RELEASE 的支持。 GA 最新版本2.1.0.RELEASE documentation 已更新为MongoDB Java Driver 3.8.2

随着每个版本的 MongoDB 引入的新功能,Java 驱动程序和 Spring 总是有点落后。因此,如果您现在开始,我的建议是使用最新的2.1.0.RELEASE (https://projects.spring.io/spring-data-mongodb/#quick-start)

编辑:

Mongo 在 4.0 版之前是怎样的how-acid-mongodb mongo 4.0 中的 ACID multi document transaction Spring 数据 mongo 支持 transactions

【讨论】:

由于我使用的是spring-boot,在这种情况下,我必须覆盖spring-boot-mongodb 驱动程序版本单独,通常不建议这样做?我可以假设,如果我不使用 MongoDB 4.0 的 new 功能,如 Transaction Support (ACID) 并使用 spring-data-mongodb' for compatible features of 3.6.0`,那会不会可取吗? 除非真的需要,否则我总是避免更改 spring 依赖项。您可以按原样安全地使用 spring data mongo,为什么不呢?如果您想使用事务docs.spring.io/spring-data/mongodb/docs/2.1.0.RELEASE/reference/…等新功能,您可以使用它,无需手动更新驱动程序。 如果您发现答案不完整/错误/不准确,请告诉我,否决票没有指出为什么在需要时难以改进答案 我这边没有反对票。最新版本的spring-boot 不使用最新的MongoDB 4.0 兼容spring-data-mongo 版本,因此会造成混乱。

以上是关于spring-boot mongodb 4.0 兼容性的主要内容,如果未能解决你的问题,请参考以下文章

Spring-boot数据mongoDB查询嵌套列表

如何避免使用 Spring-Boot 下载嵌入式 MongoDb

如何在不依赖 MongoDB 的情况下启动 spring-boot 应用程序?

spring-boot整合mongodb多数据源的案例

大写的mongoDB spring-boot自定义查询,带有LIKE

在 Spring-Boot 中,我们如何在同一个项目中连接两个数据库(Mysql 数据库和 MongoDB)?