mongoTemplate Aggregation
来源:互联网 发布:程序员老公的好处 编辑:程序博客网 时间:2024/06/05 19:56
可以通过以下声明方式进行使用
TypedAggregation<User> agg = Aggregation.newAggregation(User.class);AggregationResults<BasicDBObject> aggregationResults = mongoTemplate.aggregate(agg, BasicDBObject.class); //BasicDBObject可以替换成对应的model类
Aggregation agg = Aggregation.newAggregation(User.class);AggregationResults<BasicDBObject> aggregationResults = mongoTemplate.aggregate(agg, User.class, BasicDBObject.class);
示例:
Aggregation.newAggregation(User.class, match(criteria), group("id", "infoList"), // { "$group" : { "_id" : { "id" : "$id" , "infoList" : "$infoList"}}} unwind("infoList"), //{ "$unwind" :"$_id.infoList"} project("id", "infoList"), // { "$project" : { "id" : "$_id.id", "infoList" : "$_id.infoList"}} group("infoList.date").addToSet( "infoList.timeSlot").as("timeSlots"), project("timeSlots").and("time") .previousOperation() );//其他: 如果先使用group 再用project时/* group("id", "infoList"), unwind("infoList"), project("id").and("infoList") .previousOperation() .andInclude("infoList") // {"$project" : { "id" : "$_id.id" , "_id" : 0 , "infoList" : "$_id.infoList"}} *//*project("id").and("infoList").previousOperation().andInclude("infoList", "id") //.previousOperation()表示使用"infoList": "$_id", 此时 "_id" : 0, 继续使用.andInclude("infoList", "id")则表示 "infoList" : "$_id.infoList", "id": "$_id.id"; 如果and(name) name未被使用则会变成name会单独作为key,且值为"$_id"*/
阅读全文
0 0
- mongoTemplate Aggregation
- Aggregation
- MongoTemplate笔记
- Aggregation > Aggregation Concepts > Aggregation Pipeline
- spring mongoTemplate使用笔记
- mongotemplate criteria查询
- MongoTemplate操作mongodb
- Spring Class MongoTemplate详解
- SpringData之MongoTemplate
- mongotemplate的聚合操作
- mongoTemplate聚合操作
- MongoTemplate操作mongodb
- spring mongoTemplate简单使用
- mongoTemplate 一些简单记录
- Aggregation explained
- Link aggregation
- Aggregation-聚合
- 简化MongoAPI第二部分--MongoTemplate
- grub的相关操作
- 多线程的休眠
- 角谷定理
- 哈希表C开源的uthash的简单初步封装(一)
- 想要word的表头,在另一页,重复出现,怎么做到?不起作用?怎么办?
- mongoTemplate Aggregation
- linux 命令系列之 mount命令--挂载出现只读,解决方案
- Linux中管理EXT2、EXT3和EXT4健康状况的4个工具
- 线性参数估计方法之比较 LS、WLS、Ransac LS、LMedS
- FMI飞马网 |【线上直播】京东商城的通用代码质量提升方案
- 红黑树 (附 STL 源码学习注释)
- YUM:[Errno 14] problem making ssl connection
- 神经网络算法(上)
- @Controller和@RestController的区别?