更新日志
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
- 增加“url”配置项,可以使用该配置项进行SSL连接,具体请查看:http://www.mongoplus.cn/pages/9432a8/#url
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