由于数据库和API响应中格式_id不同,如何在Mongo中找到findById

时间:2019-06-11 09:27:17

标签: mongodb spring-boot spring-data

我正在使用mongoDB-保存效果很好,但是findById存在问题:

@Repository
public class DataRepository {


    private final MongoTemplate mongoTemplate;

    @Autowired
    public DataRepository(MongoTemplate mongoTemplate) {
        this.mongoTemplate = mongoTemplate;
    }

    public DBObject save(DBObject jsonToSave, String collectionName) {
        return mongoTemplate.save(jsonToSave, collectionName);
    }

}

在我的数据库中,_id正常存储: enter image description here

但是,当我收到Api响应时,我得到了奇怪格式的_id,但我不知道该如何查询这个_id对象:

"_id": {
      "timestamp": 1560243698,
      "machineIdentifier": 777068,
      "processIdentifier": -26590,
      "counter": 14453904,
      "timeSecond": 1560243698,
      "time": 1560243698000,
      "date": 1560243698000
    },

我的控制器的一部分以奇怪的格式返回_id:

@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity save(@RequestBody String json) {

        DBObject dbObject = BasicDBObject.parse(json);
        return ResponseEntity.ok().body(dataRepository.save(dbObject, serviceName));
    }

我有什么办法以数据库中的格式返回_id?

0 个答案:

没有答案