mongoTemplate集約ソートが有効でない問題
1802 ワード
最近のプロジェクトではMongoDBが使用されているが、集約を使用するとソートが有効ではないことが分かった.その後sort位置の原因であることが分かった.
public List findPoint(List jobNos) {
Sort sort = new Sort(Sort.Direction.DESC, "traceDate");
Aggregation agg =
Aggregation.newAggregation(
Aggregation.project("jobNo", "points", "traceDate", "time"),
Aggregation.match(Criteria.where("jobNo").in(jobNos)),
Aggregation.sort(sort),//
Aggregation.group("jobNo")
.first("jobNo").as("jobNo")
.first("points").as("points")
.first("traceDate").as("traceDate")
);
AggregationResults durationData =
mongoTemplate.aggregate(agg, "TrackTrace", TrackTrace.class);
List traces = durationData.getMappedResults();
return traces;
}