MongoDB比较两列大小 使用$subtract函数

是找出整个表 a大于b的总数量,要怎么操作数据库呢,那就要用到$subtract函数

MongoDB比较两列大小 使用$subtract函数,

 

 // MongoDB 比较两列大小求出  啊>b 的数值

  db.seoProduceAnalyse.aggregate([
    {
      "$project":{
            "val":{"$subtract":["$a","$b"]}    // a与 b两个值减 得到值 val
       }  
    },
      {
        "$match":{
              "val":{"$lt":1}                      // 条件 where 是   val《1
         }
      },
      {
        "$group":{
                  "_id":1,                         // id
              "count":{"$sum":1}                 // 展示 count  值为 总数
        }
      }
 ])

 

结果:

 

java 中代码

//         $group
        DBObject group = new BasicDBObject();
        DBObject q = new BasicDBObject();
        DBObject l = new BasicDBObject();
        DBObject c = new BasicDBObject();
        c.put("$sum" ,1);
        q.put("_id" ,1);
        q.put("count",c );
        group.put("$group", q);
        
        // $project
        DBObject project = new BasicDBObject();
        DBObject p = new BasicDBObject();
        DBObject sb = new BasicDBObject();
        BasicDBList list = new BasicDBList();
        list.add("$a");
        list.add("$b");
        sb.put("$subtract",list);         // 使用$subtarct函数
        p.put("val", sb);
        project.put("$project", p);
        
        // $match
        DBObject match = new BasicDBObject();
        DBObject qm = new BasicDBObject();
        DBObject qmc = new BasicDBObject();
        qmc.put("$lt", Integer.valueOf("0"));
        qm.put("val", qmc);
        match.put("$match",qm);
        AggregationOutput output = collection.aggregate(project,match,group);  // 顺序必须是 project match group

 

转载于:https://www.cnblogs.com/lemon-flm/p/10147834.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值