Spring-date操作Mongodb分組統計
阿新 • • 發佈:2019-02-08
Java使用Spring提供的Spring-data-mongodb來進行操作Mongodb進行分組、統計等操作示例。
// 返回的欄位 ProjectionOperation projectionOperation = Aggregation.project("user_isp_tag", "ad_title", "ad_id", "push_url", "clicksum"); // 日期條件 Criteria operator = Criteria.where("ad_id").ne("").andOperator( Criteria.where("click_time").gte(startDate), Criteria.where("click_time").lt(endDate) ); MatchOperation matchOperation = Aggregation.match(operator); // 分組操作,並對每個廣告的總條數進行統計 GroupOperation groupOperation = Aggregation.group("ad_id", "ad_title").sum("clicknum").as("clicksum"); // 分頁操作,控制分頁從哪開始 SkipOperation skipOperation = Aggregation.skip(pageQuery.getPageQuery_start()); // 分頁操作,控制分頁取得記錄數 LimitOperation limitOperation = Aggregation.limit(pageQuery.getPageQuery_pageSize()); // 組合條件 Aggregation aggregation = Aggregation.newAggregation(projectionOperation, matchOperation, groupOperation, skipOperation, limitOperation); // 執行操作 AggregationResults<AddspAnalyse> aggregationResults = this.mongoTemplate.aggregate(aggregation, "collectionName", AddspAnalyse.class);