MongoDB Spring实现(聚合查询)
来源:互联网 发布:李兴华java视频百度云 编辑:程序博客网 时间:2024/05/17 01:47
/** * 计算某公司每个员工入职以来工作总天数(打卡总数) * <pre> * db.runCommand({ * "aggregate": "interactEventHistory", * "pipeline": [ * { * "$match": { * K: V, * } * }, * { * "$project": { * "companyId": 1, * "userId": 1 * } * }, * { * "$group": { * "_id": { * "companyId": "$companyId", * "userId": "$userId" * }, * "signInCount": { * "$sum": 1 * } * } * }, * { * "$project": { * "_id": 0, * "companyId": "$_id.companyId", * "userId": "$_id.userId", * "signInCount": 1 * } * } * ] * }) * </pre> */ Aggregation agg = Aggregation.newAggregation( match(criteria), project("companyId", "userId"), group("companyId", "userId").count().as("signInCount"), project(Fields.fields("signInCount") .and("companyId", "_id.companyId") .and("userId", "_id.userId") ).andExclude("_id"));AggregationResults<Map> aggResult = (AggregationResults) mongoTemplate .aggregate(agg, "signInHistory", Object.class);List<Map> mapResults = aggResult.getMappedResults();
// 操作之前 { "_id": { "companyId": "54fd0343e4b055a0030461fb", "userId": "54f23343e4b055a0030461f5" }, "salary": 3500, "grantDate": ISODate("2015-08-10T06:34:09.719Z") }// 操作之后 { "previous": { "companyId": "54fd0343e4b055a0030461fb", "userId": "54f23343e4b055a0030461f5" }, "salarys": { "salary": 3500, "grantDate": ISODate("2015-08-10T06:34:09.719Z") } }/** * MongoDB部分命令 * { * "$project": { * "_id": 0, * "previous": "$_id", * "salarys" : { * "salary" : "$salary", * "grantDate": "$grantDate" * } * } * } */// 相应代码project("_id", "salary", "grantDate").and("previous").previousOperation() .and("salarys").nested(Aggregation.bind("salary", "salary") .and("grantDate", "grantDate") )
0 0
- MongoDB Spring实现(聚合查询)
- MongoDB的聚合查询
- MongoDB 高级聚合查询
- mongodb nodeJs聚合查询
- MongoDB 聚合查询
- mongodb mapreduce 聚合查询
- MongoDB聚合查询
- 在SPRING DATA MONGODB中使用聚合统计查询
- 在SPRING DATA MONGODB中使用聚合统计查询
- java MongoDB 聚合查询aggregation
- MongoDB查询、索引和聚合
- MongoDB高级查询[聚合Group]
- MongoDB高级查询[聚合Group]
- MongoDB高级查询[聚合Group]
- mongodb 聚合查询每天统计
- 在SPRING DATA MONGODB中使用聚合统计查询(Java)
- spring data mongo 聚合查询
- Step into MongoDB - 08 - 聚合查询
- BD 之 逻辑题 赛马
- explicit关键词用法
- 安装oracle10g 出现oui.exe停止工作错误
- 华为OJ题库-查找输入整数二进制中1的个数
- 七个例子帮你更好地理解 CPU 缓存
- MongoDB Spring实现(聚合查询)
- 关于Qt中webView无法响应mouseEvent的解决办法
- JAVA- 学习日记-堆-栈
- 网页弹出对话框
- JS中的JSON对象
- 64位系统运行报错:1%不是有效的win32应用程序解决
- JNI字符串参数传递与返回值
- KEA 从零学习一
- 【Android进阶学习】监听EditText的变化