mongodb mongotemplate聚合
2016-03-24 16:05
465 查看
1.group by并且计算总数
2.Crieria的使用,注意andOperator和orOperator的用法
Aggregation agg = Aggregation.newAggregation( Aggregation.match(new Criteria().andOperator(Criteria.where("onlineTime").gt(new Date())) .orOperator( Criteria.where("offlineTime").gt(new Date()) ,Criteria.where("offlineTime").exists(false) ))
@Test public void insertTest() { //测试数据 //insertTestData(); Aggregation agg = Aggregation.newAggregation( //Aggregation.match(Criteria.where("groupId").is(5)), Aggregation.group("groupId").count().as("total"), Aggregation.project("total").and("groupId").previousOperation(), Aggregation.sort(Sort.DEFAULT_DIRECTION, "total")); List<StaCount> list = mongoTemplate.aggregate(agg, "currentUser", StaCount.class).getMappedResults(); for(StaCount count : list) { System.out.println(count.getGroupId() + ":" + count.getTotal()); } } 如果要带其他字段,将红字变为 Aggregation.group("groupId","groupName"...),并将project的and部分去掉即可;
2.Crieria的使用,注意andOperator和orOperator的用法
Aggregation agg = Aggregation.newAggregation( Aggregation.match(new Criteria().andOperator(Criteria.where("onlineTime").gt(new Date())) .orOperator( Criteria.where("offlineTime").gt(new Date()) ,Criteria.where("offlineTime").exists(false) ))
相关文章推荐
- 【MongoDb】
- MongoDB 安装与启动
- MongoDB中的分组
- 放养的小爬虫--豆瓣电影入门级爬虫(mongodb使用教程~)
- MongoDB分片测试
- MongoDB数据库命令总结
- ES-MongoDB学习3_MongoDB数据同步到Elasticsearch中
- Mongodb 设置过期时间Expire Date
- MongoDB基本命令用
- MongoDB与PostgresQL无责任初步测试
- Linux mongodb安装、启动、运行
- MONGODB用户、角色和权限管理
- MongoDB分片测试
- mongodb的c++接口说明
- MongoDB MapReduce
- mongodb 备份 mongodump
- 建立Models
- Ubuntu下离线安装MongoDB教程
- 初识MongoDB
- 如何安装rockmongo(gui for mongodb)