由于业务需要,需要王mongo中存类型为时间二维数组格式的数据,类型如以下这种
结果存入到mongo中变为了这种
我tm直接裂开,然后度娘一波,发现mongo没有java.sql.time的类型,导致把我的数据转成了这副鬼样子。
但是莫慌,人家还说了可以写转换器把格式转一下,ok,咱就写mongo的转换器。
首先写写入mongo的转换器,长这副样子
首先建个类实现 Converter实现convert方法,泛型写你要从什么类型转成什么类型,我这是从Time[][]转为string,然后打上@WritingConverter注解,我这是直接转成json字符串了。
既然写的时候转了,读取的时候也要转,所以再写一个转出的转换器
写入时的转换器区别就是注解变为@ReadingConverter然后泛型位置换了一下。
ok 写入和读取的转换器都写好了,接下来就要给mongo用上我们自己定义的转换器
上图!
这个就很好理解了,写一个配置类,打上@Configuration注解,然后写一个返回 MongoCustomConversions 类型的bean方法。然后用一个转换器的集合把你自定义的转换器装进去,然后就大功告成了!!!!
试一下,看看结果
mongo中的数据
postman返回结果