最近在需要从mongodb中查找出数据,但是连接mongodb也是刚刚接触到,所有如何连接mongdb然后从中查找出数据

之前从https://www.cnblogs.com/minsons/articles/7026600.html博客上面学习到了一些mongodb入门的一些知识,

        ServerAddress serverAddress = new ServerAddress(dsc.getServerName(),27017);  List<ServerAddress> addrs = new ArrayList<ServerAddress>();  addrs.add(serverAddress);  //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  MongoCredential credential = MongoCredential.createScramSha1Credential(dsc.getUsername(), dsc.getDbName(), dsc.getPassword().toCharArray());  List<MongoCredential> credentials = new ArrayList<MongoCredential>();  credentials.add(credential);  //通过连接认证获取MongoDB连接  mongoClient = new MongoClient(addrs,credentials);

这个是有密码的mongodb连接的方式,也就是我们可以通过这种方式成功的链接到mongodb数据库,链接之后我们可以进行一一些简单的查询,上面的那个博客中的内容介绍的也很详细,现在我们做的是简单的,也就是做一些简单的分组查询的操作,如何进行分组

我们先从简单的查找开始,我们根据上面对数据库的链接从数据库中获取到一个集合这个集合

    MongoDatabase db = mongoClient.getDatabase(dsc.getDbName());MongoCollection<Document> hobby = db.getCollection("rialI");

获取到这个集合之后,我们需要做的事情是对这个集合进行操作,比如我们首先来做一个查找:

   Document filter = new Document().append("$regex","411456");Document query1=new Document("idcard",filter);query1.append("is_right", 0);long num=hobby.count(query1);

其实上面的查询语句相当于:

db.getCollection("wdgconllection").find({"idcard":{$regex:411456},"is_right":0}).count()

上面的代码中的查找语句相当于我们在数据库中执行上面的查找语句

那么一个简单的查找我们可以做到了,现在我们需要做的事情是在进行分组查找:

   Document query0 = new Document().append("$regex","320700");Document query1=new Document("certawarddeptcode",query0);query1.append("is_history", 0);Document filter=new Document();filter.append("$match", query1);MongoDatabase db = mongoClient.getDatabase(dsc.getDbName());MongoCollection<Document> hobby = db.getCollection("AuditRsShareMaterialI");AggregateIterable<Document> aggregate = hobby.aggregate(Arrays.asList(filter,new Document("$group", new Document("_id", "$certawarddeptcode").append("value", new Document("$sum", 1))),new Document("$sort", new Document("value", -1))));int i=0;JSONArray json_arr=new JSONArray();for (Document document : aggregate) {JSONObject obj= new JSONObject().parseObject(document.toJson().toString());obj.put("name", findNameByCode(obj.get("_id").toString()));json_arr.add(obj);i++;if(i>=10){break;}}return json_arr;

上面便是我们从mongodb中进行分组查找出来结果并且返存储到一个json中,然后返回这个json也就是我们最后想要的结果了

希望对你有所帮助

如何连接mongodb数据库,并且从中查找数据相关推荐

  1. JMeter连接mysql数据库,并查找数据

    JMeter连接mysql数据库,并查找数据 连接mysql数据库 数据查找 连接mysql数据库 1.下载mysql的jar驱动,https://mvnrepository.com/artifact ...

  2. powerbuilder(pb)连接mongodb数据库:使用ODBC连接

    1.点击此处下载mongodb的odbc驱动 注意:这里的odbc驱动是要收费的,所以下载体验版试试 2.下载后,一路next即可,不需要勾选配置数据源 3.配置ODBC数据源,因为pb使用的多数是3 ...

  3. Scala连接mongodb数据库

    mongodb是一种面向文档的数据库,Scala是一种函数式编程语言,由于项目的关系,需要使用Scala连接mongodb数据库.下面介绍具体的方法. 就像Java连接MySQL数据库需要JDBC一样 ...

  4. oracle sql 导入mysql数据库备份_使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复...

    使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...

  5. python连接oracle数据库 插入clob类型数据

    python连接oracle数据库 插入clob类型数据 连接数据库 import cx_Oracle as cx #导入模块 con = cx.connect('root', 'root123', ...

  6. python连接mongodb数据库密码_windows下mongodb设置用户名密码用python连接

    环境: 主机:WIN10 python版本:3.5 mongodb版本:3.4.2 开发环境:pyCharm mongodb设置用户名密码: 编写mongodb配置文件mongodb.conf dbp ...

  7. Python使用pymongo连接MongoDB数据库并进行操作

    一.基本概述 目前电脑上已经下载了MongoDB数据库.navicat for mongodb作为mongoDB的可视化工具,形如navicat for mysql作为mysql的可视化工具. 使用P ...

  8. python怎么连接MongoDB数据库

    Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接. pip 安装: pip3 install pymongo 引入库: import pymo ...

  9. 公网远程连接MongoDB数据库【内网穿透】

    文章目录 1. 安装数据库 2. 内网穿透 2.1 创建隧道映射 2.2 测试随机公网地址远程连接 3. 配置固定TCP端口地址 3.1 保留一个固定的公网TCP端口地址 3.2 配置固定公网TCP端 ...

最新文章

  1. android开发之svg全面总结
  2. Android O限制系统全屏进一步遏制手机勒索
  3. 语音增强效果的测试方法
  4. MySQL高可用架构对比
  5. 黑白极简设计行业企业官网模板
  6. 称特价影票被取消后影片仍正常放映 购票人起诉淘票票索赔500元
  7. SecureCRT连接Linux显示Mysql记录中文乱码
  8. 解决办法:C++编译中[-Wreorder]
  9. 2017人工智能大会核心技术流出_机器人竟然已经能干这个了?
  10. android studio更改代码字体,Android Studio怎么改变代码字体大小?
  11. Python实战,截图识别文字,过万使用量版本?
  12. 自己做量化交易软件(18)小白量化平台
  13. visio 如何让箭头完全水平?
  14. w ndows安装程序无法将,windows安装程序无法将windows配置在硬件上运行
  15. Python下载网易云歌曲(版权限制的怎么播放和下载呢?)
  16. VTK笔记-图形相关-多边形数据转换图像数据-vtkPolyData转换为vtkImageData
  17. c语言函数指针的多种赋值方法
  18. Kafka之Fetch offset xxx is out of range for partition xxx,resetting offset情况总结
  19. 粗糙的量刑模型-随机森林算法
  20. 高德地图开发(一、引入地图)

热门文章

  1. SCOM2012部署系列之七:推送Windows监控代理
  2. tomcat自启动问题 jsvc的 使用
  3. 平滑无损!引入Elasticsearch的系统架构实战
  4. IDEA源码阅读利器 — UML类图插件Diagram
  5. 『图解Java并发』面试必问的CAS原理你会了吗?
  6. Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...
  7. 面试前必知必会的二分查找及其变种
  8. 互联网公司的那些搞笑gif
  9. 一个爬虫的故事:这是人干的事儿?
  10. 八张图彻底了解JDK8 GC调优秘籍!