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;
    }