Skip to content
广告❤️成为赞助商

更新日志


v2.1.5 2024-11-11 🆕

  • 增删改操作 增加options选项
  • 增加ID生成处理器
  • 增加BigDecimal映射器
  • MongoPlusBasicDBObject增加一些方法
  • 丰富lookup方法
  • 优化逻辑条件改造
  • 条件构造器增加combine方法,更加灵活的构建逻辑条件
  • 优化自动填充并发问题
  • 拦截器增加不接受条件的count
  • 管道查询增加返回单个方法
  • 修复SpringBoot异步启动报错
  • 修复逻辑删除报错找不到方法
  • 修复索引日志特殊情况下打印报错

v2.1.4 2024-08-28

  • 增加索引自动创建功能
  • 增加时间序列自动创建功能
  • 优化like操作为不区分大小写
  • 增加配置加密功能
  • 增加嵌套字段构建器
  • 修改增加pull、pullAll操作符
  • 完善文档、增加管道构建示例项目
  • 优化likeLeft和likeRight
  • 修复project操作符拼接问题
  • 修复其他已知问题

新功能具体用法 请查看文档


v2.1.3 2024-08-09

  • 恢复id字段默认存入类型
  • 修复sort操作符
  • 优化使用Spring事务
  • 优化驼峰转下划线优先级
  • 数据变动记录插件增加添加到数据库功能

v2.1.2 2024-08-07

  • 增加unset、addToSet、pop等等修改操作符
  • BsonValue默认不转换
  • 优化查询效率,增加效率对比模块
  • 自动填充增加原始对象信息,增加强制写入的方法,不在判断
  • 优化expr操作符和条件构造器一定情况下未携带自定义条件
  • 将自动转换ObjectId作为一个配置开闭
  • PageResult增加更丰富的操作
  • IService增加向数据库进行查询的saveOrUpdate和saveOrUpdateBatch
  • 修复ObjectId作为id类型响应问题,优化ObjectId自动回写
  • 修复between拼接问题
  • 条件增加驼峰转下划线
  • inc操作符改为Number

注意事项:

  • 此版本已将标记过时注解的全部移出,包括MongoPlusMapMapper,还有老版的管道构造器

v2.1.1 2024-07-11

  • 修复in、nin、all两层数组问题
  • 增加多数据源处理器
  • 增加多数据源管理器,可以动态的在代码中添加新的临时数据源
  • 多数据源注解支持SPEL表达式

v2.1.0 2024-07-08

  • 增加多租户插件,具体使用方式请查看文档;
  • 增加动态集合插件,具体使用方式请查看文档;
  • 增加数据变动记录插件,具体使用方式请查看文档;
  • 增加字段脱敏功能,具体使用方式请查看文档;
  • 增加字段加解密功能,具体使用方式请查看文档;
  • 增加SSL方式连接
  • 增加逻辑删除忽略注解
  • 增加切换数据源支持标注在类上
  • update条件构造器增加inc和setOnInsert方法
  • IService和BaseMapper的查询方法增加接收Class和TypeReference参数,可自定义返回
  • 修复自动填充功能不会清空上次的内容
  • 增加下划线转驼峰,修复TypeReference传入映射不正确
  • 修复添加或修改时,异常不会再次抛出
  • 修复未忽略serialVersionUID字段
  • 修复ObjectId存储为文档类型
  • 修复Function获取字段名问题
  • 修复条件构造器操作_id,不会判断是否是ObjectId
  • 弃用MongoPlusMapMapper类,使用BaseMapper替换

v2.0.9.3 2024-05-30

  • 修复one方法查询为空时返回对象实例,而不是null和未接收order参数
  • 修复BigInteger无法映射到Document中
  • 修复Byte无法转换
  • 修复逻辑删除时,分页方法无条件时会全量统计
  • 修复lookup方法未拼接let
  • 增加byte[]转换(库中存的文件,实体类属性使用byte[]接收)
  • 增加自定义映射器,用于将实体类中的字段映射为MongoDB可识别类型,详情查看官网
  • 增加类型处理器TypeHandler,用于字段的赋值和转换,优先级高于转换器和映射器
  • 兼容类似JSONObject、JSONArray的类,转换时无法获取泛型问题导致报错问题
  • 扩展IService中的查询方法,可通过多传递一个Class参数,实现返回指定Class的内容,自定义返回类,而不是固定返回实体类类型
  • 增加通过Bean获取自定义ID生成

v2.0.9.2 2024-05-21

  • 修复查询单个时,会返回对象实例,而不是null
  • 优化切换数据源时,库并没有切换到指定数据源的默认库
  • 修复Document无法映射到实体类
  • 修复如果map的泛型value为集合,会获取第1位泛型
  • 修复MongoPlusMapMapper批量添加时报错ID问题
  • 修复使用逻辑删除,removeByXXX报错Bson转换问题

v2.0.9.1 2024-05-08

  • 修复添加和修改时的各种存储格式问题,如Date存为了时间戳
  • 修复MongoClient无法自动关闭
  • 修复SpringBoot3.2+出现两个相同Bean的问题
  • 增加校验,key只能是String类型
  • 修复实体类中的序列化的静态变量也会进行操作
  • 修复查询在特定情况下会出现类型不一致问题,无法调用get方法
  • 弃用原来的转换器,增加更优的转换器;
  • 不再依赖其他第三方依赖,去除fastjson依赖,解决因fastjson全局配置导致的序列化异常
  • 增加多数据源的使用方式;
  • 增加逻辑删除功能;
  • 增加小黑子模式(灵感来源Easy-ES);
  • 优化日志打印,通过配置可以将日志打印为MongoDB可执行的语句
  • 不在依赖sl4j打印日志,通过使用方引用的日志依赖
  • 优化自动填充,不再需要自己去判断列名,直接使用lambda,如User::getUserId
  • 增加存储自增id的集合可控性,通过配置文件指定集合名
  • 增加枚举类型的映射

更新注意事项:

  • 旧的转换器已经删除,因为无法和新的兼容,使用自己的转换器,需要修改,只是修改了包名,类名一样

v2.0.8.3 2024-03-27

  • 修复查询单个时,无数据导致抛出异常
  • 更改转换器日志级别

v2.0.8.2 2024-03-23

  • 修复MongoMapMapper空指针问题
  • 修复MongoMapMapper添加问题
  • 修复List转换器问题
  • 修复MongoClient不会自动销毁问题

v2.0.8.1 2024-03-20

  • 增加返回List的page方法;
  • 优化高效率count查询(无条件情况下);
  • 增加拦截器用法,废弃之前的拦截器,作为监听器使用;
  • 扩展Document和BasicDBObject类,增加支持Lambda形式;
  • 增加likeLeft和likeRight方法;
  • one方法取消查询整个集合,只取第一个
  • 优化批量添加或修改,增加批量添加修改根据自定义条件
  • 修复时间戳转换LocalDateTime时区问题
  • 修复and()方法传入条件抛出异常
  • 增加Configuration类,支持无Spring,直接通过main方法使用
  • 增加尝试适配SpringData配置文件
  • 增加likeLeft和likeRight方法
  • 修复unionWith时,没有拼接$符号
  • 增加BaseMapper类,不强制使用Service继承IService和ServiceImpl,可以选择直接注入BaseMapper,更加解耦

v2.0.8-BETA 2024-03-20

  • 修复已知问题
  • 修复updateById会将@ID注解标识字段添加进去
  • 修复管道函数在特定条件下不会按顺序执行
  • 修复MongoPlusMapMapper的saveBatch将时间存为时间戳
  • 修改xxxByIds系列的接口中ids形参为泛型,解决泛型协变下调用此接口还需要再转一次泛型类型的问题
  • 增加lambdaUpdate的push操作,用于向已有数组中追加
  • 增加saveOrUpdate可根据自定义条件添加或修改
  • 重构执行器,更具扩展性,结构更加清晰,可注入ExecuteFactory获取抽象执行器,可以不进行继承ServiceImpl

更新注意事项:

  • 将SqlExecute移出,自定义SqlExecute和使用SqlExecute需要注意
  • 此版本为Beta版本

v2.0.7.3 2023-11-25

  • 修复已知问题
  • 修复自增主键并发问题
  • 修复id无法手动设置问题
  • 修复二进制文件存入问题(推荐使用Binary类)
  • 新增防止全表更新删除配置
  • 新增自动填充功能
  • 新增命令拦截器(监听器)
  • 新增Document处理器(可以对新增和修改最终得值,再进行进一步修改)

v2.0.7.2 2023-11-16

  • 修复已知问题
  • 丰富solon功能
  • 修复LocalDateTime存入数据库后为字符串类型、Date存入数据库后为时间戳类型
  • 修复一个字段多个条件导致去重
  • 修复match未接收lambda中的BasicDBObject集合问题
  • 修复添加时,内部属性对象依然受到@ID等注解的控制
  • 修复Id类型永远为String类型,最新版本根据@ID注解的字段类型存储
  • 修改下划线转驼峰的配置文件级联,详情查看(https://www.mongoplus.cn/pages/9432a8/#字段配置)
  • 修改转换器配置,弃用MongoConversion注解,通过泛型设置转换器类型
  • 增加collection名称转换策略,详情查看(https://www.mongoplus.cn/pages/9432a8/#字段配置)
  • 增加MongoDB索引操作

请尽快升级为最新版,升级可能会遇到的问题如下:

  • 新版使用属性类型作为类型存入数据库,如实体类中使用int,存入mongo中会是String,新版存入后会是int类型,注意关心查询
  • 2.0.7.2及之后版本修改了下划线配置级联,之前的配置将会失效,最新配置请查看(https://www.mongoplus.cn/pages/9432a8/#字段配置)
  • 旧版转换器将会失效,新版本采用泛型设置转换器类型,不再使用@MongoConversion,旨在减少用户注解使用

v2.0.7.1 2023-10-24


v2.0.7 2023-10-20

  • 修复已知问题
  • 增加通过Spring的事务注解控制事务
  • 增加JavaBean转换器,不再要求和MongoDB中字段类型一致
  • 增加用户自定义转换器,处理特殊字段
  • 增加驼峰转下划线,通过配置开启,默认关闭
  • 增加getByColumn,update(UpdateWrapper updateWrapper),remove(UpdateWrapper updateWrapper)等等操作方式
  • 增加.sql()方法,可以传入一条MongoDB语句json,如{"user_name":{"$eq":18}}
  • 修改条件构造“Wrapper”为“QueryWrapper”,以防误导
  • 将格式化日志sql打印,变为默认不格式化

注意:

  • 如果账号或密码中出现了@,!等等符号,不需要再进行转码!!!

v2.0.6.4 2023-09-15

  • 增加事务
  • 支持solon