【发布时间】:2019-10-14 01:58:18
【问题描述】:
我正在尝试使用 spring-data-mongo API 将毫秒转换为 dd-mm-yyyy 格式。下面是所需的 Mongo 工作查询和对应的 Java spring 代码。
"$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)
救命!
【问题讨论】:
标签: mongodb spring-boot mongodb-query spring-data-mongodb