mongodb的group详细成功案例

来源:互联网 发布:流星网络电视tv版apk 编辑:程序博客网 时间:2024/05/01 18:24
/** * 查询财务报表 * @author liupeng * @param timeStart * @param timeEnd * @return *///public List<KeyRequest> findByTimeForFinal(String timeStart, String timeEnd) {public List<DBObject> findByTimeForFinal(String timeStart, String timeEnd) {BasicDBObject key = new BasicDBObject();key.put("kq_timer_start", true);   //groupBy的条件BasicDBObject cond = new BasicDBObject("kq_timer_start",new BasicDBObject("$gte",timeStart).append("$lt", timeEnd));//查询where条件BasicDBObject initial = new BasicDBObject();initial.put("cou",0);              //需要查询出来的内容initial.put("kq_autosum", "");     //需要查询出来的内容initial.put("kq_accountsum", "");  //需要查询出来的内容String reduce = "function(obj,out){" +"out.cou++;" +"out.kq_autosum = out.kq_autosum+obj.kq_autosum+'_';" +"out.kq_accountsum = out.kq_accountsum+obj.kq_accountsum+'_';}";BasicDBList returnList = (BasicDBList)keyRequest.group(key, cond, initial, reduce);System.out.println(returnList);List<DBObject> list = new ArrayList<DBObject>();Object[] o = returnList.toArray();for (int i = 0; i < o.length; i++) {DBObject dbObject = (DBObject)o[i];list.add(dbObject);}return list;//通过以下形式可以打印出BasicDBList中的任何值/*System.out.println(returnList);Object[] o = returnList.toArray();for (int i = 0; i < o.length; i++) {DBObject dbObject = (DBObject)o[i];System.out.println(dbObject.get("kq_id"));}*/}

2 0
原创粉丝点击