mongodb聚合函式aggregation的用法
阿新 • • 發佈:2018-11-09
1、首先需要自定義一個類,來表示你需要統計的屬性以及統計之後的結果,這裡的_id表示我要統計的屬性,count表示這個屬性的專案總數
class IntegralCount {
int _id;
int count;
public int get_id() {
return _id;
}
public void set_id(int _id) {
this._id = _id;
}
public int getCount () {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
2、使用aggregation函式進行統計
2.1、建立查詢條件,即過濾條件
Criteria criteria = Criteria.where("user").is(user);
2.2、新建聚合函式
Aggregation agg = newAggregation(
match(criteria),
group("itemCode" ).count().as("count")
);
2.3、通過spring mongodb 模板scoreReopsitory查詢
AggregationResults<IntegralCount> results = scoreRepository.aggregationGroup(agg,IntegralCount.class);
2.4、得到結果
List<IntegralCount> result = results.getMappedResults();
result中儲存了查詢結果集合