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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM