为什么80%的码农都做不了架构师?>>>   

    /*** * 功能描述:* * @author :xiaoyu 创建日期 :2014年2月19日 下午2:23:44* * @param vehicleIds * @param alarmTypeCode* @return* *         修改历史 :(修改人,修改时间,修改原因/内容)*/@Overridepublic Map findAlarmInfo(List<String> vehicleId, List<String> alarmTypeCode) {BasicDBList vehicleIds = new BasicDBList();BasicDBList alarmTypeCodes = new BasicDBList();for (int i = 0; i < vehicleId.size(); i++) {vehicleIds.add(vehicleId.get(i));}for (int i = 0; i < alarmTypeCode.size(); i++) {alarmTypeCodes.add(alarmTypeCode.get(i));}BasicDBObject queryObject = new BasicDBObject();queryObject.put("vehicleId", new BasicDBObject("$in", vehicleIds));queryObject.put("alarmTypeCode", new BasicDBObject("$in", alarmTypeCodes));String reduce = "function(doc, aggr){" + "aggr.count += 1;" + "        }";DBObject result = mongoTemplate.getCollection("alarmDetail").group(new BasicDBObject("alarmTypeCode", 1), queryObject,new BasicDBObject("count", 0), reduce);//对mongo数据库进行分组统计查询Map map = result.toMap(); 一般会对返回的Map进行处理 具体的业务代码不贴出来}
    /*** 这里利用Spring提供的操作mongo的模板类*/@Resourceprivate MongoTemplate mongoTemplate;
       /*** * 功能描述:* * @author :xiaoyu 创建日期 :2014年2月19日 下午2:23:44* * @param vehicleId* @return* *         修改历史 :(修改人,修改时间,修改原因/内容)*/ public Map<String, Object> findOnlineVehicles(List<String> vehicleId) {BasicDBList vehicleIds = new BasicDBList();for (int i = 0; i < vehicleId.size(); i++) {vehicleIds.add(vehicleId.get(i));}BasicDBObject queryObject = new BasicDBObject();queryObject.put("vehicleId", new BasicDBObject("$in", vehicleIds));queryObject.put("vehicleStatus", new BasicDBObject("$in", new Object[] { "XXX", "XXX", "XXX", "XXX" }));Query query = new BasicQuery(queryObject);long onlineVehicles = this.mongoTemplate.count(query, "realTimeDataInfo");//统计查询count查询Map<String, Object> onlineVehicle = new HashMap<>();onlineVehicle.put("onlineVehicles", onlineVehicles);return onlineVehicle;}

转载于:https://my.oschina.net/pingdy/blog/201477

java 对 mongoDB 分组统计操作 以及一些常用操作相关推荐

  1. MongoDB 分组统计

    [摘要] MongoDB 在进行分组统计时如果面对一些比较复杂的计算情况,往往会遇到 shell 脚本过于复杂的问题.而集算器 SPL 语言,则因其有丰富的函数库及易用性恰好能弥补 Mongo 这方面 ...

  2. php字符串相关操作,PHP字符串常用操作

    常用操作有: PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度 count($sttr);数组长度 字符串长度:strlen(string $a); 判断是否相同, ...

  3. python excel操作库_超全整理|Python 操作 Excel 库常用操作详解

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...

  4. Java中mongodb指定DB通过aggregate聚合查询操作示例

    目录 前言: 应用场景: 命令描述:​ 代码示例: 聚会查询: 数量查询: 前言: 大家都知道,mongodb是一个非关系型数据库,也就是说,mongodb数据库中的每张表是独立存在的,表与表之间没有 ...

  5. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  6. java 建树源码_Java实现的二叉树常用操作【前序建树,前中后递归非递归遍历及层序遍历】...

    import java.util.ArrayDeque; import java.util.Queue; import java.util.Stack; //二叉树的建树,前中后 递归非递归遍历 层序 ...

  7. 数据库mysql常用操作_mysql数据库常用操作

    目前最流行的数据库: oracle.mysql.sqlserver.db2.sqline --:单行注释 #:也是单行注释 /* 注释内容*/:多行注释 mysql -uroot -p密码:登录mys ...

  8. mysql操作总结_mysql常用操作总结大全

    一.总结一下: 1.Linux系统下启动MySQL的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mys ...

  9. 使用selenium操作PhantomJS的常用操作

    采集淘宝商品数据的时候,主要用到了Selenium+PhantomJS.在这个过程中对淘宝的严厉反爬措施佩服至极,个人也得到了很多成长.虽然历经曲折,最终还是能正常运行自己的脚本采集数据. 这里总结一 ...

最新文章

  1. P4779 【模板】单源最短路径(标准版)(dijkstra模板)
  2. 【权值分块】bzoj1503 [NOI2004]郁闷的出纳员
  3. 史上最全解读 | 飞桨模型库重大升级,主流算法模型全覆盖
  4. python普通菜单_python多级菜单
  5. 中等职业教育计算机教学案例范文,职业中学计算机教学案例
  6. keil运行c语言输入函数,keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量,keil编译器...
  7. 计算机网络设计 pdf,计算机网络教学设计.pdf
  8. Spring 注解@Resource @Autowired @Service @Component
  9. jQuery基础资料
  10. 你们心心念念的 GitHub 客户端终于来了!
  11. matlab中划分训练集和测试集
  12. React-注册事件
  13. 荣之学教育汇总Shopee平台最全基础知识
  14. BNN系列-Dropout as a Bayesian Approximation
  15. 最小生成树问题:算法分析 Java 实现
  16. 基于图像算法的透明容器液面液位识别算法
  17. 如何快速清洗空调扇(水冷式电风扇)(图文教程)
  18. python元组创建_python新建元组
  19. PMP项目管理培训总结
  20. win7 计算机无法搜索,Win7笔记本电脑无法搜索无线网络_计算机的基本知识_IT /计算机_信息...

热门文章

  1. DCMTK:比较DICOM图像并计算差异指标
  2. VTK:小部件之ImageTracerWidget
  3. VTK:可视化之ShepardInterpolation
  4. VTK:可视化之ColorActorEdges
  5. VTK:隐式函数之SampleFunction
  6. VTK:图片之RTAnalyticSource
  7. OpenCV VideoCapture与捕获设备,视频文件或图像序列一起使用的实例
  8. C语言背包问题的算法(附完整源码)
  9. QT的QStyleOption类的使用
  10. C++全局函数做友元