Я использую Spring-Data MongoDb Aggregation Framework, чтобы получить последнюю версию объекта из БД. Все поля возвращаются правильно, кроме поля _id , которое является нулевым.
Я пытался использовать проект в агрегации для всех полей, но ничего не помогло. Поле id правильно возвращается негрупповыми функциями (используя методы MongoRepository).
final Aggregation aggregation = newAggregation(
sort(Sort.Direction.DESC, VERSION),
group(ENVIRONMENT_NAME, DEPLOYMENT_NAME).first(VERSION).as(VERSION)
.first('_id').as('id')
.first('createdAt').as('createdAt')
.first('updatedAt').as('updatedAt')
)
final AggregationResults<Compose> results = mongoTemplate.aggregate(aggregation, 'compose', Compose)
Я ожидаю, что все поля будут возвращены, но вместо этого я получаю:
{
"id": null,
"createdAt": 1558647529908,
"updatedAt": 1558647529908,
"user": "",
"composeJson": {
"additionalProp1": {
"prop1": "value2"
},
"additionalProp2": {
"prop2": "value1"
},
"additionalProp3": {}
},
"deploymentName": "depOne",
"environmentName": "envOne",
"version": 1001
}