mongo java --group by; max


Date lastExcTime=new Date();

long startIndex=0;

 int pageSize=10;

List<DBObject> pipeline = new ArrayList<DBObject>();

BasicDBObject group = new BasicDBObject();

BasicDBObject val = new BasicDBObject();

val.append("_id","$userId");

val.append("createTime",new BasicDBObject("$max","$createTime"));

group.append("$group", val);

pipeline.add(group);

BasicDBObject match = new BasicDBObject();

BasicDBObject matchVal = new BasicDBObject();

matchVal.append("createTime",new BasicDBObject("$gte",lastExcTime));

match.append("$match", matchVal);

pipeline.add(match);

BasicDBObject project = new BasicDBObject();

BasicDBObject projectVal = new BasicDBObject();

projectVal.append("createTime",1);

projectVal.append("userId",1);

projectVal.append("_id",-1);

project.append("$project", projectVal);

pipeline.add(project);

pipeline.add(new BasicDBObject("$skip",startIndex));

pipeline.add(new BasicDBObject("$limit",pageSize));

AggregationOutput aggregate = mongoTemplate.getCollection("homeLog").aggregate(pipeline);

HomeLog log=new HomeLog();

List<HomeLog> list=new ArrayList<HomeLog>();

JSONArray bean=JSONArray.parseArray(aggregate.getCommandResult().getString("result"));

for (int i = 0; i < bean.size(); i++) {

log = JSONObject.toJavaObject(bean.getJSONObject(i),HomeLog.class);

list.add(log);

}


转载于:https://my.oschina.net/u/1447976/blog/608843

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值