• MongoDB操作(1)—MongoDB java驱动核心层次结构及操作流程


    • 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,降序的索引类型。
  • 相关阅读:
    SharedPreferences介绍,用来做数据存储
    android中的回调简单认识
    git的使用
    Android Studio插件美化Android Studio,文艺清新范
    arp欺骗技术
    进程和线程的关系
    Win下常用命令大全
    JavaWeb系列之:Servlet
    JavaWeb系列之:监听器
    JavaWeb系列之:过滤器
  • 原文地址:https://www.cnblogs.com/InformationGod/p/9472827.html
Copyright © 2020-2023  润新知