mongoTemplate 使用管道聚合实现 根据某个条件去重
在日常业务中可能会遇到根据数据库某个字段进行去重,我们可以使用mongotemplate.findDistinct方法。但是使用这个方法不太好匹配其他例如 排序、分页、获取总数等业务。为了能更好的实现业务我们可以使用 mongo 的 管道聚合来实现。下面直接展示代码: 条件…
【mongo事务】在spring boot 中,整合mongo和mysql的事务。
在 spring boot 的声明式事务中,一次只能指定一个 TransactionManager,所以在默认情况下一个方法中,只能支持 mysql 或 mongo 其中一个的事务。但是在日常业务中,很多时候一段业务内既有 mongo 也有 mysql,这时就需要 mysql 和…
使用docker-compose 搭建mongo多副本
MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个 Primary 节点和一个或者多个 Secondary 节点组成。副本集没有固定的主节点,当主节点发生故障时,整个集群会选举一个主节点 为系统提供服务以保证系统的高可用。 副本集拥有三种节点:…
【mongo事务】使用docker-compose启动mongo,‘单副本模式‘实现支持事务
想要mongo支持事务的首要条件是mongo版本4.x 以上,且为复制集模式。由于很多时候使用mongo都不需要部署多副本,但是想支持事务,所以可以使用‘单副本模式’,既能保证mongo实例只有一个,又是复制集模式。