Монго Aggregation Query в Spring-Data-Mongo Java с использованием mongoTemplate - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь преобразовать миллисекунды в формат дд-мм-гггг, используя API-интерфейс spring-data-mongo.Ниже приведен требуемый рабочий запрос Mongo и соответствующий код Java-весны.

"$project" : {
   "serverTimestamp": 1,
   "formattedServerDate": {
       "$dateToString": {
            "format": "%d-%m-%Y",
            "date": {
                 "$toDate" : "$serverTimestamp"
            }
        }
    }
}

ProjectionOperation dateProject = Aggregation.project("serverTimestamp")
                .and(ConvertOperators.ToDate.toDate("$serverTimestamp"))
                .dateAsFormattedString("%d-%m-%Y").as("formattedServerDate");

Но я получаю сообщение об ошибке ниже

Caused by: java.lang.IllegalStateException: Projection field name must not be null!
at org.springframework.util.Assert.state(Assert.java:73)
at org.springframework.data.mongodb.core.aggregation.ProjectionOperation$ProjectionOperationBuilder.getRequiredName(ProjectionOperation.java:1250)
at org.springframework.data.mongodb.core.aggregation.ProjectionOperation$ProjectionOperationBuilder.dateAsFormattedString(ProjectionOperation.java:1204)
at com.abcd.deda.service.EventServiceImpl.getSessionStats(EventServiceImpl.java:423)

Справка!

...