有时候不想新建实体类来映射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直接拿到的就是字符串,但我不知道怎么实现,如果有知道的还可以留言,谢谢
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐