SpringBoot整合mongoTemplate使用Map.class映射返回_id格式问题
有时候不想新建实体类来映射mongodb的集合,查询时就用map.class来映射结果,一次性拿到查询的所有文档字段。但是发现查询返回会这样子:数据库中的_id字段变成一个对象了,但是我们要的是原本的字符串这是数据库里面原本的数据网上找了许久,发现找不到这种问题的解决方法。这个网址描述的问题也是这种情况https://www.gxlcms.com/sql_question-383371.html研
·
有时候不想新建实体类来映射mongodb的集合,查询时就用map.class来映射结果,一次性拿到查询的所有文档字段。
但是发现查询返回会这样子:
数据库中的_id字段变成一个对象了,但是我们要的是原本的字符串
这是数据库里面原本的数据
网上找了许久,发现找不到这种问题的解决方法。
这个网址描述的问题也是这种情况
https://www.gxlcms.com/sql_question-383371.html
研究了好久,发现有一个办法可以解决,mongodb的_id字段是一个Objectid类型的对象
我们把它转换成Objectid类型的实例,再调用toString()方法
结果如下图:
toHexString和toString是一样的效果。因为在Objectid的源码里面,调用toSreing就是调用toHexString
输出的字符串和数据库里面的一模一样,如此转换一下就可以返回前端了
貌似也有办法不用转换,map.class映射后_id直接拿到的就是字符串,但我不知道怎么实现,如果有知道的还可以留言,谢谢
更多推荐
已为社区贡献2条内容
所有评论(0)