MongoDB比较两列大小 使用$subtract函数
2018-12-20 10:29
1106 查看
是找出整个表 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
相关文章推荐
- asp.net 中使用datagrid编辑数据,比较两列的大小
- 限制MongoDB使用内存大小
- Excel中使用条件格式(比较两列将内容不同用颜色标识)
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 使用函数指针实现任意数据类型大小比较
- 如何使用freemarker比较大小
- 不直接使用大于小于 比较两数大小
- 使用指针比较整型数据的大小
- java使用compareTo实现一个类的对象之间比较大小
- 使用Scala语言定义函数和函数使用(比较两个数的大小代码)
- 定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 使用字符串比较两个时间的大小
- 实现比较字符串大小的方法(不使用系统方法)
- 比较两个数大小并返回(不许使用内置方法或者排序)
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句(转载)
- 定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 以及 不用 第三个数,交换 a,b的值
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小