java operation mongodb Aggregation group query


The first step is to import the static class

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;


second step 

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();

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326233550&siteId=291194637