Как найтиById в Mongo, из-за разного формата _id в базе данных и ответа API - PullRequest
1 голос
/ 11 июня 2019

Я использую 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 в таком формате, как в базе данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...