管理数据库

显示数据库列表  

show dbs

    

切换到其他数据库

use <database_name>

创建数据库

  MongoDB没有提供显式的创建数据库的MongoDB shell命令。数据库是在添加集合或用户时隐式地创建的。

  可使用use database_name命令创建数据库。但只有添加了至少一个文档,才可真正创建完一个数据库。

    

删除数据库

  在MongoDB shell 中删除数据库,必须先切换到该数据库,才可执行删除操作。

 use database_name
db.dropDatabase()

     

  方法dropDatabase()删除数据库后,不会修改当前数据库句柄db。如果在删除数据库后没有切换到其他数据库,则创建集合时将重新创建被删除的数据库。

    

获取数据库的统计信息

  db.stats()方法可以获取数据库包含的集合数、数据库大小、索引数等信息。

    

管理集合

显示数据库的集合列表

show collections

    

   也可通过Database对象的方法getCollectionNames()返回一个集合名数组。

    

创建集合

db.createCollection(name,[options])

  其中,参数name是创建的数据库的名称,options为可选参数。

参数列表:

cappend 布尔值。为true时将创建一个固定集合,其大小不能超过属性size指定的值。默认为false
autoIndexId 布尔值。为true时将自动为加入到集合中的每个文档创建_id字段,并根据这个字段创建一个索引。默认为true
size 指定集合的大小,单位为字节
max 指定固定集合最多可包含多少个文档。为给新文档腾出时间,将删除最旧的文档

    

  在MongoDB中不需要创建集合。当插入一些文档时,MongoDB会自动创建集合。

    

删除集合

db.collection_name.drop()

  如果选定的集合删除成功,drop()方法会返回true,否则返回false。

    

MongoDB Database Method(数据库方法)

方法名 描述
db.cloneDatabase() 从指定主机上克隆数据库
db.currentOp() 显示当前正在进行的操作
db.commandHelp() 返回数据库命令的帮助信息
db.createCollection() 创建一个聚集集合(table)
db.cloneCollection() 在MongoDB实例之间复制集合数据
db.copyDatabase() 从指定的机器上复制指定数据库数据到某个数据库
db.dropDatabase(); 删除当前使用数据库
db.fsyncLock() 刷新写入磁盘并锁定该数据库,以防止写入操作,并协助备份操作
db.fsyncUnlock() 允许继续进行写入锁住的数据库(解锁)
db.getLogComponents() 返回日志消息详细级别
db.getLastErrorObj() 查看完整的错误结果
db.getMongo() 查看当前db的链接机器地址
db.getCollection() 得到指定名称的聚集集合(table)
db.getName() 查看当前使用的数据库
db.getPrevError() 返回包含自上次错误复位所有的错误状态文件
db.getCollectionNames() 得到当前db的所有聚集集合
db.getCollectionInfos() 返回当前数据库中的所有集合信息
db.getLastError() 返回上一次错误,如果没有错误则为空
db.hostInfo() 返回当前数据库主机系统的相关信息
db.killOp() 终止指定的操作
db.listCommands() 显示公共数据库的命令列表
db.logout() 注销登录
db.printCollectionStats() 显示当前db所有聚集索引的状态
db.resetError() 重置db.getPrevError()和getPrevError返回的错误信息
db.repairDatabase() 修复当前数据库
db.repairDatabase() 修复当前数据库
db.runCommand() 运行一个数据库命令
db.serverStatus() 返回当前数据库状态的概要
db.setProfilingLevel() 修改当前数据库的分析级别
db.stats() 显示当前db状态
db.shutdownServer() 关闭当前数据库运行实例或安全停止有关操作进程
db.setLogLevel() 设置一个单独的日志信息级别
db.version() 查看当前db版本

MongoDB Collection Method(集合方法)

方法名 描述
db.collection.aggregate() 聚合,主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果
db.collection.bulkWrite() 批量写入
db.collection.createIndex() 创建一个集合索引
db.collection.count() 返回集合总数或匹配查询的结果集总数
db.collection.deleteOne() 删除集合中的一个文档
db.collection.deleteMany() 删除集合中的多个文档
db.collection.dataSize() 返回集合的大小
db.collection.distinct() 返回具有指定字段不同值的文档(去除指定字段的重复数据)
db.collection.dropIndex() 删除一个集合中的指定索引
db.collection.dropIndexes() 删除一个集合中的所有索引
db.collection.drop() 删除当前数据库中的collection集合
db.collection.explain() 返回各种方法的查询执行信息
db.collection.ensureIndex() 已过时,现使用db.collection.createIndex()
db.collection.findOne() 查询单条数据
db.collection.findOneAndReplace() 查询单条数据并替换
db.collection.findOneAndDelete() 查询单条数据并删除
db.collection.findOneAndUpdate() 查询单条数据并更新
db.collection.find() 查询集合,无参数则查询所有,并返回一个游标对象
db.collection.findAndModify() 查询并修改
db.collection.getIndexes() 返回当前集合的所有索引数组
db.collection.group() 提供简单的数据聚合功能
db.collection.isCapped() 判断集合是否为定容量
db.collection.insert() 在当前集合插入一条或多条数据(或叫文档)
db.collection.insertMany() 在当前集合插入多条数据
db.collection.insertOne() 在当前集合插入一条数据
db.collection.reIndex() 重建当前集合的所有索引
db.collection.renameCollection() 重命名集合名称
db.collection.replaceOne() 替换集合中的一个文档(一条数据)
db.collection.remove() 从当前集合删除数据
db.collection.save() 已插入数据更新
db.collection.stats() 返回当前集合的状态
db.collection.storageSize() 返回当前集合已使用的空间大小
db.collection.totalSize() 返回当前集合的总占用空间,包括所有文件和所有索引
db.collection.totalIndexSize() 返回当前集合所有的索引所占用的空间大小
db.collection.updateMany() 修改集合中的多条数据
db.collection.update() 修改集合中的数据
db.collection.updateOne() 修改集合中的一条数据
db.collection.validate() 执行对集合验证操作

MongoDB学习(管理数据库和集合)的更多相关文章

  1. MongoDB学习笔记——数据库安装及配置

    MongoDB数据库安装 MongoDB官方下载地址:https://www.mongodb.com/download-center 首先需要根据Windows版本选择正确的MongoDB版本进行安装 ...

  2. MongoDB学习笔记——数据库操作

    使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用 ...

  3. MongoDB学习笔记——数据库的创建与初始

    Part1:MongoDB与SQL的概念对比 图片来源--菜鸟教程 Part2:MongoDB安装地址 直接下载地址:戳这里 备用地址:戳这里 通过备用地址(官网)下载时,要注意下面这个地方 Part ...

  4. MongoDB学习笔记-1

    mongod --dbpath D:\MogonDB3.4.10\db //开启数据库,无端口号mongod --dbpath D:\MogonDB3.4.10\db --port=10086 //开 ...

  5. 【MongoDB学习之二】MongoDB数据库、文档、集合、元数据

    环境 MongoDB 4.0 CentOS6.5_x64 一.连接语法格式: mongodb://[username:password@]host1[:port1][,host2[:port2],.. ...

  6. NoSQL学习二:MongoDB基本管理命令

    MongoDB命令学习  一.MongoDB命令帮助 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控: 这是MongoDB最上层 ...

  7. MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

    一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...

  8. MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

    介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...

  9. MongoDB学习笔记(二)--Capped集合 && GridFS存储文件

    Capped集合                                                            Capped集合的大小是固定的,如果空间都被用完了,新添加的对象 ...

随机推荐

  1. subprocess实时获取结果和捕获错误

    需要调用命令行来执行某些命令,主要是用 subprocess 实时获取结果和捕获错误,发现subprocess的很多坑. subprocess 普通获取结果方式,其需要命令完全执行才能返回结果: im ...

  2. 使用NSSM把.Net Core部署至 Windows 服务

    为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署 ...

  3. Protocol Buffers(2):编码与解码

    目录 Message Structure 解码代码一窥 varint Protobuf中的整数和浮点数 Length-delimited相关类型 小结 参考 博客:blog.shinelee.me | ...

  4. 使用BeautifulSoup和正则表达式爬取时光网不同地区top100电影并使用Matplotlib对比

    还有一年多就要毕业了,不准备考研的我要着手准备找实习及工作了,所以一直没有更新. 因为Python是自学不久,发现很久不用的话以前学过的很多方法就忘了,今天打算使用简单的BeautifulSoup和一 ...

  5. JAVA基础知识(一)—JAVA概述

    JAVA概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...

  6. java技术栈范畴

    基础 进阶 数据 安全

  7. Api管家系列(三):测试和Rest Client

    今天我们来看一下Api管家的测试功能 在项目首页可以看到,测试过的接口和未测试的接口,点击环型图能列出相应的接口 我们选择未测试的,这些接口我都已经实现好了,只是没有用API管家进行测试,所以还显示未 ...

  8. cmd 配置dchp服务器

    1.安装DHCP服务器角色,这样在netsh下才会有dhcp上下文 2.编写配置dhcp的脚本 从命令行运行netsh有两种语法: 比如要获取已经配置的网络接口列表 1.写全 netsh -r Rem ...

  9. winfrom SVG转Imge

    svg矢量图的使用,将svg矢量图展示在pictureBox上,拖动可以应用到其他设计软件上,复杂一点,中间涉及到SVG的下载  以及  SVG转化为 图片等操作 效果图如下: 源码下载地址: htt ...

  10. Luogu P5309 [Ynoi2012]D1T1

    小清新分块题,从头到尾都十分套路,和CXR大佬一起YY了一下就出来了 首先套路地设个阈值\(S\),把修改的\(x\)分成大于\(S\)和小于等于\(S\)两部分,然后我们考虑分别求解这两部分 \(x ...