1,746
社区成员
发帖
与我相关
我的任务
分享
List<AggregationOperation> operations = new ArrayList<AggregationOperation>();
operations.add(
Aggregation.project().andExpression("substr(startTime,0,10)").as("day")
);
operations.add(
Aggregation.group("day")
.sum("$duration").as("totalDuration")
);
operations.add(
Aggregation.match(
Criteria.where("ccId").is(ccId)
.and("startTime").gte(dateFrom).lte(dateTo)
)
);
operations.add(
Aggregation.sort(Sort.Direction.ASC, "_id") // 按日期升序排序
);
Aggregation aggregation = Aggregation.newAggregation(operations);
AggregationResults<BasicDBObject> results = mongoTemplate.aggregate(
aggregation, "t_call_record", BasicDBObject.class);
List<BasicDBObject> mappedResults = results.getMappedResults();
AggregationResults<BasicDBObject> results = mongoTemplate.aggregate(
aggregation, "t_call_record", BasicDBObject.class);
java.lang.IllegalArgumentException: Invalid reference '$duration'!
operations.add(
Aggregation.group("day")
.sum("$duration").as("totalDuration")
);