|
@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
|
|
+import org.springframework.data.mongodb.core.aggregation.AggregationOptions;
|
|
|
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
@@ -129,6 +130,7 @@ public class MonitorDataServiceImpl implements MonitorDataService , Initializing
|
|
|
criteria.and("month").is(dateTime.getMonthValue());
|
|
|
criteria.and("day").is(dateTime.getDayOfMonth());
|
|
|
criteria.and("hour").is(dateTime.getHour());
|
|
|
+ AggregationOptions aggregationOptions = AggregationOptions.builder().allowDiskUse(true).build();
|
|
|
Aggregation agg = Aggregation.newAggregation(
|
|
|
Aggregation.match(criteria), //查询条件
|
|
|
Aggregation.unwind("dataValues"),//将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值
|
|
@@ -142,7 +144,7 @@ public class MonitorDataServiceImpl implements MonitorDataService , Initializing
|
|
|
.last("$dataValues.dataValue").as("latestValue")
|
|
|
.last("$collectDate").as("collectDate")
|
|
|
.count().as("countNum")
|
|
|
- );
|
|
|
+ ).withOptions(aggregationOptions);
|
|
|
AggregationResults<DayReportEntity> durationData =
|
|
|
mongoTemplate.aggregate(agg, "SMS_MONITOR_DATA", DayReportEntity.class);
|
|
|
//获取查询结果
|