mongodb 使用技巧记录
博客专区 > deepler 的博客 > 博客详情
mongodb 使用技巧记录
deepler 发表于6年前
mongodb 使用技巧记录
  • 发表于 6年前
  • 阅读 66
  • 收藏 1
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

1 统计功能的实现

  //select memberName ,sum(memberId) from  Participator group by memberId
        BasicDBObject key = new BasicDBObject(); 
        key.put("memberId",true);
        key.put("memberName", true);
       
        BasicDBObject cond = new BasicDBObject(); 
        cond.put("joinStatus",true);
        cond.put("createDate", new BasicDBObject("$gte",firstDayOfMonth).append("$lte",lastDayOfMonth));

       
        BasicDBObject initial = new BasicDBObject(); 
        initial.put("count", 0); 
       
        DBCollection collection = participatorDao.getBasicDao().getCollection();

        //reduce是分解归纳求count 
        String reduce = "function(obj,prev) { prev.count ++; }"; 
        DBObject obj = collection.group(key, cond, initial, reduce);
       
        Set<String> set = obj.keySet();
        Iterator<String> iter = set.iterator();
       
        List<Participator> list = new ArrayList<Participator>();
        while(iter.hasNext()){
            String s = iter.next();
            BasicDBObject res = (BasicDBObject)obj.get(s);
            Participator p = new Participator();
            p.setMemberId(res.getString("memberId"));
            p.setMemberName(res.getString("memberName"));
            list.add(p);
        }
      
        return list;

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 55
博文 62
码字总数 35528
×
deepler
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: