java 操作mongodb Aggregation 分组查询


第一步 导入静态类

import static org.springframework.data.mongodb.core.aggregation.Aggregation.group;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.match;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.newAggregation;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.project;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.sort;


第二步 

Aggregation agg = newAggregation(
        		DeviceStatisticsInfo.class,
        		//project("companyName","deviceModel").and("count").previousOperation(),
    			group("companyName","deviceModel").count().as("count"),
    			sort(Sort.Direction.DESC, "count")
    	);
        
        String collectionName = DeviceConstantTemplate.device_statistics_collection_name;
        
    	AggregationResults<DeviceStatisticsInfo> groupResults 
    			= mongoTemplate.aggregate(agg,collectionName,DeviceStatisticsInfo.class);
    		
    	List<DeviceStatisticsInfo> result = groupResults.getMappedResults();

猜你喜欢

转载自annan211.iteye.com/blog/2378452