新版spring-mongodb 版本3.3.5以上版本依赖的bson库这ObjectId对象发生改变,一些属性缺少get方法,转化为json字符串时丢失。
- <dependency>
- <groupId>org.springframework.datagroupId>
- <artifactId>spring-data-mongodbartifactId>
- <version>3.3.5version>
- dependency>
-
- <dependency>
- <groupId>org.mongodbgroupId>
- <artifactId>bsonartifactId>
- <version>4.4.1version>
- dependency>
例子:
查询 mongoTemplate.find(query, JSONObject.class, "document");
解决 :查询时直接转换
ObjectId objectId= (ObjectId) deviceLog.get("_id");
deviceLog.put("_id",objectId.toString());