• MongoDB之java驱动学习

    • 预备:
      1. 本地运行MongoDB采用默认端口20717;
      2. 安装MongoDB驱动;
      3. 以下关键步骤。
    • 核心层次结构或步骤:
      1. 创建连接池:MongoClient实例。

        • 对于一个给定的MongoDB部署{独立的MongoDB,副本,分片集群},连接池实例只需要一个。
        • 如果创建了多实例连接池:
          1. 资源限制:每个连接池实例对资源的使用都将受到限制(如最大连接数)。
          2. 关闭连接池:要放弃一个连接池实例,就应该调用MongoClient.close()方法来清除资源。
      2. 访问数据库:MongoClient.getDatabase()方法的调用
        • 在方法中指定数据库名字。如果该数据库不存在,MongoDB会在你第一次存储数据到该数据库时创建该数据库。
        • getDatabase()方法返回的MongoDatabase对象是不可变的。
      3. 访问集合(~表):使用MonoDatabase的getCollection()方法访问一个集合Collection。
        • 在getCollection()方法中声明集合的名字。如果一个集合不存在,MongoDB会在你第一次存储数据到该集合的时候创建该集合。
        • MongoCollection对象是不可变的。
      4. 创建一个文档Document(~记录)
        • Document对象包含许多字符串类型参数,字符串池的管理是否会存在压力?
      5. 插入一个文档(记录)到集合(表)当中 :collection.insertOne(doc)

  • 增删改查详解:

    • 增:

      • 单个文档插入collection.insertOne(doc),略;
      • 多个文档插入:
        • collection.insertMany(list);
        • for循环、foreach;
    • 查询:
      • 集合中的文档数量:collection.countDocuments();
      • 查找单个文档:collection.find()
        • 配合first()方法:collection.find().first();
        • 如果没记录,返回null:
      • 查找所有的文档:collection.find.iterator()
        • 返回类型为MongoCursor;
        • 迭代方式:
          • while(cursor.hasNext()){cursor.next().toJson()},finally中关闭游标;
          • foreach循环:应当避免使用,因为如果循环提前结束,会导致游标泄漏。
      • 查找满足特定条件的文档:find()方法中传入过滤器
        • eq(fieldName,valueConditioin);
        • 范围过滤器:and(gt(field1Name,value1),lte(filed2Name,value2)).foreach();
    • 更新文档
      • updateOne:
      • updateMany:
      • 返回UpdateResult对象;
      • 更新必传参数:
        1. 过滤器对象;
        2. 要更新的文档对象。
    • 删除文档
      • deleteOne;
      • deleteMany;
      • 必传参数:过滤器对象

  • 创建索引

    • 为了在一个字段或多个字段上创建索引,传一个索引声明文档到createInde()方法中。
    • 一个索引文档包含要索引的字段名,以及每个字段的索引类型:
      1. 1,升序的索引类型;
      2. -1,降序的索引类型。

MongoDB操作(1)—MongoDB java驱动核心层次结构及操作流程的更多相关文章

  1. Mongodb入门并使用java操作Mongodb

    转载请注意出处:http://blog.csdn.net/zcm101 最近在学习NoSql,先从Mongodb入手,把最近学习的总结下. Mongodb下载安装 Mongodb的下载安装就不详细说了 ...

  2. MongoDB的Java驱动使用整理 (转)

    MongoDB Java Driver 简单操作 一.Java驱动一致性 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为 ...

  3. mongodb在java驱动包下的操作(转)

    推荐几章很有用的文章 java操作参考文档 http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html http://blog.csdn. ...

  4. MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb

    MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...

  5. mongodb高级操作及在Java企业级开发中的应用

    Java连接mongoDB Java连接MongoDB需要驱动包,个人所用包为mongo-2.10.0.jar.可以在网上下载最新版本. package org.dennisit.mongodb.st ...

  6. MongoDB资料--Java驱动, Hadoop驱动, Spark使用

    MongoDB数据库备份: mongodump -h 192.168.1.160 -d MapLoc -o /usr/local/myjar/mongo/MapLoc/数据库还原:mongoresto ...

  7. MongoDB学习比较-07 C#驱动操作MongoDB

    下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...

  8. java操作mongodb & springboot整合mongodb

    简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...

  9. MongoDB(3)--Java 操作 MongoDB 的 API

    引入mongoDb 依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-j ...

随机推荐

  1. 【ZJOI2017】仙人掌

    [ZJOI2017]仙人掌 参考博客:https://www.cnblogs.com/wfj2048/p/6636028.html 我们先求出\(dfs\)树(就是\(dfs\)一遍),然后问题就变成 ...

  2. [ZJOI2012]灾难

    嘟嘟嘟 偶尔翻到的一道题. 50分暴力很好想,对于每一个点进行一次拓扑排序,然后每一次别memset,只清空走过的点,能拿到70分. 正解好像也挺好想,是一个叫"灭绝树"的东西. ...

  3. springboot 服务工程,前端服务调用接口报跨域错误

    前后端分离,VUE.JS调用服务接口时,跨域错误.需要服务接口工程设置,如下: @SpringBootApplicationpublic class SpringCloudOpenapiApplica ...

  4. 08 python 初学(字典)

    字典是 python 中唯一的映射类型 .采用键值对(key-value)的形式存储数据. python 对 key 进行哈希函数运算,根据计算的结果决定 value 的存储地址,所以字典时无需存储的 ...

  5. SkylineGlobe TerraExplorer Pro 遇到模型显示有锯齿怎么办?

    SkylineGlobe TerraExplorer Pro 遇到模型显示有锯齿怎么办? 这个问题跟软件的版本无关,跟机器的显卡有关,看下面的截图: 试试看,祝你好运!

  6. Spring Boot 之发送邮件

    Spring Boot 之发送邮件 简介 API 配置 实战 引入依赖 配置邮件属性 Java 代码 完整示例 引申和引用 简介 Spring Boot 收发邮件最简便方式是通过 spring-boo ...

  7. koa2 中使用 svg-captcha 生成验证码

    1. 安装svg-captcha $ npm install --save svg-captcha 2. 使用方法 生成有4个字符的图片和字符串 const svgCaptcha = require( ...

  8. Flask发送邮件

    参考:官方文档:https://pythonhosted.org/Flask-Mail/ 1.安装插件  Flask-Mail (pip install Flask-Mail) 2.配置 Flask- ...

  9. Appium-超过60s的应用场景如何处理

    前言: 最近在搞appium自动化项目,遇到超过60s的应用场景时,总是报错报错.如何解决呢?见下文. 报错信息: 2018-05-21 14:03:42:253 - [HTTP] <-- PO ...

  10. javascript与php与python的函数写法区别与联系

    1.javascript函数写法种类: (一).第一种 function test(param){ return 111; } (二).第二种 var test = function(param){ ...