mongoTemplate聚合操作

2021-08-03 15:20:52 字數 1469 閱讀 8344

準備資料 customer 集合,資料型別如下:(只是部分資料,資料量太多就不一一列出)

1 通過mongotemplate.group方法

public groupbyresultsgroup(string inputcollectionname, groupby groupby, classentityclass)

public groupbyresultsgroup(criteria criteria, string inputcollectionname, groupby groupby,

classentityclass)

一種可以帶過濾條件一種全集合分組查詢

使用第一種不帶條件的查詢

@responsebody

public object test()")

.reducefunction("function(doc, prev)");

groupbyresultsgbr = mongotemplate.group("customer", groupby, basicdbobject.class);

return gbr.iterator(); }

返回結果:

[,,,

,,]

如果想返回其他的字段可以更改reduce函式,和 initialdocument 引數

比如加上intime值的陣列內容

@responsebody

public object groupbymutikeyother(string... key) ")

.reducefunction("function(doc, prev)");

groupbyresultsgbr = mongotemplate.group("customer",

groupby, basicdbobject.class);

return gbr.iterator();

}返回結果:

[,,,

,,]

2 mapreduce分組統計

@responsebody

public object groupbymapreduce(string key) );}";

string reduce = "function(key, values)

返回結果內容:

[},},},}]

3 通過 mongotemplate.aggregate方法

@responsebody

public object groupbyaggregation(string key)

返回結果:

[,,,]

MongoTemplate聚合查詢

表結構 import org.springframework.data.domain.sort import org.springframework.data.domain.sort.direction import org.springframework.data.domain.sort.orde...

mongotemplate 動態query拼接

在用mongodb的時候進行分詞搜尋 使用ik分詞器對查詢條件進行分詞比如 男士9分休閒褲。使用mongotemplate 對分詞結果進行查詢。query query newquery criteria criteria newcriteria keywords是需要查詢的內容,對keywords進...

MongoTemplate 教程系列(三)

mongodb中聚合 aggregate 主要用於處理資料 諸如統計平均值,求和等 並返回計算後的資料結果。有點類似sql語句中的 count mongodb語法 db.collection name.aggregate aggregate operation 複製 aggregationresul...