zoukankan      html  css  js  c++  java
  • MongoDB 4.0.10 基本操作

    • MongoDB shell 原生方法和构造函数
    1 Date()                 # 创建一个Date对象
    2 _isWindows()           # 判断是否为Windows操作系统
    3 version()              # 返回当前MongoDB shell实例的版本
    4 hostname()             # 返回当前运行MongoDB shell实例的主机
    5 getMemInfo()           # 返回一个文档,指出MongoDB shell当前占用的内存量
    6 _rand()                # 返回一个0-1的随机数
    7 ObjectId()             # 生成一个ObjectId("5d32e4f123270a8bed29e995")
    • Connection对象:用于数据库的连接
    • Database对象:用于对数据库进行操作
    • Collection对象:表示MongoDB数据库中的集合,使用其来操作集合中的文档
    1 var myConn = new Mongo("localhost:27018")    // 连接数据库
    2 var myDB = myConn.getDB("shop")          // 获取shop数据库
    3 var myColl= myDB.getCollection("goods")     // 获取goods集合
    4 myDB.stats()                                  // 查看数据库状态
    5 myColl.stats()                    // 查看集合状态
    6 myDB.getName()                    // 获取数据库名称
    • 基本操作命令
      • 当创建文档时,如果文档所在的集合或者数据库不存在则会自动创建数据库和集合,use指令可以使用没有创建的数据库
     1 mongo                       // 进入MongoDB交互模式,默认连接test
     2 db                          // 显示当前数据库对象或集合
     3 show dbs                    // 显示所有数据库列表
     4 show databases              // 显示所有数据库列表
     5 show users                  // 显示数据库中所有用户
     6 
     7 use <dbname>                // <dbname>是数据库名,进入到指定数据库
     8 db.getSiblingDB(<dbname>)   // <dbname>是数据库名,进入到指定数据库
     9 
    10 show collections            // 显示数据库中所有的集合
    11 show tables                 // 显示数据库中所有的集合
    12 db.getCollectionNames()     // 显示数据库中所有的集合,返回一个列表
    13 
    14 db.createCollection(name, options)    // 在该数据库上创建一个collection
    15 /* 可选参数options参数
    16 capped:布尔类型,如果为true,则创建固定大小的集合,必须指定size参数;
    17 autoIndexId:布尔类型,如果为true,则自动在_id字段上创建索引,默认为false
    18 size:数值类型,为固定大小的集合指定一个最大值,如果capped为true,需要指定该属性的值,单位KB
    19 max:数值类型,指定固定集合中包含文档的最大数量 */
    20 db.createCollection(name, {capped:true,size:10000,max:1000}) //创建固定集合
    21 db.<collection>.isCapped()                    // 判断是否为固定集合
    22 db.<collection>.convertToCapped(maxBytes)     // 将已存在的集合转换为固定集合
    23 
    24 db.<collection>.drop()                       // 删除集合,<collection>为集合名
    25 db.getCollection(<collection>).drop()         // 删除集合,<collection>为集合名
    26 
    27 db.help()                                     // 查询数据库上的方法帮助
    28 db.dropDatabase()                             // 删除数据库
    29 db.copyDatabase(fromdb, todb, fromhost)       // 复制数据库,fromdb:源数据库,todb:目标数据库,fromhost:可选、源数据库主机名
    30 db.runCommand(<命令>)                          // 执行数据库命令,它与shell和驱动程序直接提供一致的接口
    31 db.collection.help()                          // 查询集合上的方法
    32 db.<collection>.renameCollection(newName,<dropTarget>)        // 重命名集合,newName:新名字,格式为db.collection;dropTarget:可选,如果为true,则删除同名数据库
    33 db.<collection>.validate(true)                // 检查数据库,传入参数true以执行更加详细的检查
    34 db.runCommand({profile:2,slowms:100})         // 剖析数据库操作,profile:0不剖析、1只剖析较慢的操作、2剖析所有操作;slowms:代表超过100ms的操作视为判断缓慢操作的标准
    35 db.system.profile.find()                      // 查询剖析信息
    36 db.<collection>.find().explain()              // 查询执行计划
    37 db.runCommand({top:1})                        // 执行诊断命令top,只能在admin数据库执行
    • 固定集合的优点
      • 固定集合保证按插入顺序排列文档,查询时不需要使用索引就能按存储顺序返回文档,避免了建立索引的开销
      • 固定集合禁止执行导致文档增大的更新,以保证文档在磁盘的存储顺序与插入顺序相同,这避免了移动文档以及管理文档新位置的开销
      • 固定集合达到指定大小时,如果写入新文档,它自动删除集合中最旧的文档
    • 固定集合的限制:更新文档时,不能导致它比插入到集合时的文档大;不能删除固定集合中的文档
  • 相关阅读:
    JavaWeb_(Jar)使用fastjson解析json和序列化对象
    JavaWeb_JSTL标签数据的存储
    JavaWeb_EL表达式存储数据及获得项目路径
    JavaWeb_(MVC)管理员后台商品查询demo
    JavaWeb_(设计模式)单例模式
    JavaWeb_客户端相对/绝对路径和服务器端路径
    JavaWeb_Servlet生命周期
    控制导航条最后一个标签样式的三种方法
    JS跳转到顶部的方法
    数学对象Math ceil()、floor()、round()方法
  • 原文地址:https://www.cnblogs.com/My-Sun-Shine/p/13510741.html
Copyright © 2011-2022 走看看