MongoTemplate聚合查詢

2021-10-06 12:34:15 字數 1582 閱讀 3885

表結構

import org.springframework.data.domain.sort;

import org.springframework.data.domain.sort.direction;

import org.springframework.data.domain.sort.order;

import org.springframework.data.mongodb.core.mongotemplate;

import org.springframework.data.mongodb.core.aggregation.aggregation;

import org.springframework.data.mongodb.core.aggregation.aggregationresults;

import org.springframework.data.mongodb.core.query.basicquery;

import org.springframework.data.mongodb.core.query.criteria;

import org.springframework.data.mongodb.core.query.query;

/* * project:列出所有本次查詢的字段,包括查詢條件的字段和需要搜尋的字段;

* match:搜尋條件criteria

* unwind:某乙個欄位是集合,將該字段分解成陣列

* sum:求和(同sql查詢) group("type").sum("size").as("total")

* count:數量(同sql查詢) group("missid").count().as("count")

* as:別名(同sql查詢)

* addtoset:將符合的字段值新增到乙個集合或陣列中

* sort:排序

* skip&limit:分頁查詢

*/ public string getloststationsumbytimerange(string timerange)

} return new gson().tojson(lists);

}

查詢結果

[

,....]

public object getapinamebytimerange(string timerange)
mongodb3.4

public object getapibyday(string timerange)

或者mongodb3.6及以上

aggregation aggregation = aggregation.newaggregation(

aggregation.project(""indate")

.andexpression("}").as("datetostring")

);

結果

[,

]

mongoTemplate聚合操作

準備資料 customer 集合,資料型別如下 只是部分資料,資料量太多就不一一列出 1 通過mongotemplate.group方法 public groupbyresultsgroup string inputcollectionname,groupby groupby,classentity...

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...