level 1
姐讨厌钱
楼主
想用mongodb实现类似MySQL里面的多条件分组统计的功能,我这边现在实现的是单个分组条件,可是现在需求需要实现多个条件的,不知道怎么在Java这边去实现啊!急急急,下面贴出我的部分代码,望大神指教!!
这是数据库查询的语句:以bu和teamName 作为分组条件
db.circleInterfaceDto.group({
key : {
"bu" : true,
"teamName":true
},
initial : {
"count" : 0 },
reduce : function Reduce(doc, out) {
out.count +=1, out.teamName },
finalize : function Finalize(out) {
return out; }});
Java种实现的SQL拼接语句:
DBCollection userSColl = interfaceRequestDao.getCollection();
BasicDBObject key = new BasicDBObject("bu",true); //这儿的分组是单个的
BasicDBObject cond = new BasicDBObject();
BasicDBObject initial = new BasicDBObject("count", 0);
String reduce = "function Reduce(doc, out) {out.count +=1}";
String finalize = "function Finalize(out) {return out;}";
DBObject circleList = userSColl.group(key, cond, initial, reduce,finalize);
key分组条件是一个的,想实现上面SQL那种的多个条件分组的统计,表示对mongodb用的不是很多,所以不是很懂,望各位懂的朋友指教指教!在次不胜感谢!!!
2017年08月14日 09点08分
1
这是数据库查询的语句:以bu和teamName 作为分组条件
db.circleInterfaceDto.group({
key : {
"bu" : true,
"teamName":true
},
initial : {
"count" : 0 },
reduce : function Reduce(doc, out) {
out.count +=1, out.teamName },
finalize : function Finalize(out) {
return out; }});
Java种实现的SQL拼接语句:
DBCollection userSColl = interfaceRequestDao.getCollection();
BasicDBObject key = new BasicDBObject("bu",true); //这儿的分组是单个的
BasicDBObject cond = new BasicDBObject();
BasicDBObject initial = new BasicDBObject("count", 0);
String reduce = "function Reduce(doc, out) {out.count +=1}";
String finalize = "function Finalize(out) {return out;}";
DBObject circleList = userSColl.group(key, cond, initial, reduce,finalize);
key分组条件是一个的,想实现上面SQL那种的多个条件分组的统计,表示对mongodb用的不是很多,所以不是很懂,望各位懂的朋友指教指教!在次不胜感谢!!!