Группировка / агрегация MongoDB не возвращает поле 'id' документа - PullRequest
0 голосов
/ 28 мая 2019

Я использую 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
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...