
我在使用 spring-data-mongodb 在 spring boot 中处理数据库
数据库内容如下:
{ "_id" : "b8261207-3f95-40ca-bd05-e06ad451dff8", "updateDate" : ISODate("2021-05-18T09:17:28.409Z"), "isDelete" : false, "name" : "test", "receivedDate" : ISODate("2021-05-15T09:38:52Z"), "deviceId" : "55118b35-43d3-4700-b8be-41daefb7f502", "createDate" : ISODate("2021-05-18T09:17:28.409Z") } { "_id" : "b8261207-3f95-40ca-bd05-e06ad451dff8", "updateDate" : ISODate("2021-05-18T09:17:28.409Z"), "isDelete" : false, "test" : "test", "createDate" : ISODate("2021-05-18T09:17:28.409Z") } 然后我写的 repository 查询代码如下:
public List<HashMap> findAll() { return mongoTemplate.findAll(HashMap.class, Constant.collectionName); } 我有两个问题想问下:
对于这个方案,大家有不同的建议嘛?使用 HashMap 有个问题是转不了 HashMap<String, Object>,这个转换只能遍历转换?
我也尝试使用 DBObject 替代 HashMap 进行使用,这两个那个比较好呢?或者有没有其他的方案
[ { "updateDate": 1621329448409, "isDelete": false, "name": "test", "_id": "b8261207-3f95-40ca-bd05-e06ad451dff8", "receivedDate": 1621071532000, "deviceId": "55118b35-43d3-4700-b8be-41daefb7f502", "createDate": 1621329448409 } ] 这个时间在 mongodb 中是 ISODate,但是查询出来由于没有使用具体的类型导致了没有自动转换格式,我希望查询出来的格式是"yyyy-MM-dd HH:mm:ss"的
这个可以有什么办法自动实现嘛?使用遍历手动转感觉不太友好
1 chendy May 19, 2021 既然选择了哈希迈普 就自己慢慢转吧 |
2 tubimasky May 19, 2021 fastjson JSON.parse(JSON.toJSONStringWithDateFormat(o, "yyyy-MM-dd HH:mm:ss")) |
3 itechify PRO 为什么不是固定的格式呢?存数据不是先编写实体先吗? 用 JsonObect 来搞? |
4 clf May 20, 2021 一般都是先建实体的。要灵活也是继承于某个抽象类,并实现指定的转换方法。 |
5 anthoy OP @oneisall8955 @lychs1998 因为数据结构变化很大,没有办法用一个实体处理,实体的参数一直在变,建实体的话要建太多了 |