mongodb group用法ITeye - 牛牛娱乐

mongodb group用法ITeye

2019-01-11 05:11:28 | 作者: 鸿煊 | 标签: 依据,聚合,操作 | 浏览: 212

group是较为杂乱的聚合操作,与联系型数据库中的group by相似。

group先选定分组依据的键,然后将调集依据键值分组,之后再聚合每一组内的数据发生查询成果。

 

//MongoDB
db.coll.group({
 key:{//分组依据
 a:true
 cond:{active:1},//查询条件
 reduce: function(obj,prev)//聚合操作
 prev.csum += obj.c;
 initial:{csum:0}//指定聚合计数器的初始目标
});

 

 

 

下面是在Java中的处理办法:

 

//计算函数 由js完成
 String reduce = "function(doc, prev){" +
 " prev.csum += 1;" +
 " }";
 Query query = Query.query(Criteria.where("active").exists(true));
 DBObject result = mongoTemplate.getCollection("XXX").group(new BasicDBObject("a", true),
 query.getQueryObject(),
 new BasicDBObject("csum", 0),
 reduce);//MongoTemplate是spring供给操作mongoDB的
 Map String,Map String,Double map = result.toMap();

 得到Map后的代码就不写了,依据自己的事务需求做处理就好了

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章