MongoDB学习(管理数据库和集合)
管理数据库
显示数据库列表
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.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学习(管理数据库和集合)的更多相关文章
- MongoDB学习笔记——数据库安装及配置
MongoDB数据库安装 MongoDB官方下载地址:https://www.mongodb.com/download-center 首先需要根据Windows版本选择正确的MongoDB版本进行安装 ...
- MongoDB学习笔记——数据库操作
使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用 ...
- MongoDB学习笔记——数据库的创建与初始
Part1:MongoDB与SQL的概念对比 图片来源--菜鸟教程 Part2:MongoDB安装地址 直接下载地址:戳这里 备用地址:戳这里 通过备用地址(官网)下载时,要注意下面这个地方 Part ...
- MongoDB学习笔记-1
mongod --dbpath D:\MogonDB3.4.10\db //开启数据库,无端口号mongod --dbpath D:\MogonDB3.4.10\db --port=10086 //开 ...
- 【MongoDB学习之二】MongoDB数据库、文档、集合、元数据
环境 MongoDB 4.0 CentOS6.5_x64 一.连接语法格式: mongodb://[username:password@]host1[:port1][,host2[:port2],.. ...
- NoSQL学习二:MongoDB基本管理命令
MongoDB命令学习 一.MongoDB命令帮助 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控: 这是MongoDB最上层 ...
- MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)
一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...
- MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...
- MongoDB学习笔记(二)--Capped集合 && GridFS存储文件
Capped集合 Capped集合的大小是固定的,如果空间都被用完了,新添加的对象 ...
随机推荐
- 性能测试入门 — LoadRunner 使用初探
前言: 性能测试是利用产品.人员和流程来降低应用程序.升级程序或补丁程序部署风险的一种手段.性能测试的主要思想是通过模拟产生真实业务的压力对被测系统进行加压,验证被测系统在不同压力情况下的表现,找出其 ...
- APP测试要点—UI、功能测试
一.UI测试 测试用户界面(如菜单.对话框.窗口和其它可规控件)布局.风格是否满足客户要求.文字是否正确.页面是否美观.文字.图片组合是否完美.操作是否友好等. UI测试的目标是确保用户界面会通过测试 ...
- 《前端之路》之 JavaScript 高级技巧、高阶函数(一)
目录 一.高级函数 1-1 安全的类型检测 1-2 作用域安全的构造函数 1-3 惰性载入函数 1-4 函数绑定 1-5 函数柯里化 1-6 反函数柯里化 一.高级函数 1-1 安全的类型检测 想到类 ...
- 【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览
年关将至,首页技术含量文章真是越来越少,理解大家盼着放假过年,哥们我何尝不是,先给大家拜个早年. 兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新 ...
- OSPF 高级实验
一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.理解 OSPF 虚链路原理及何时需要使用虚链路. 2.掌握 OSPF 虚链路配置方法. 3.掌握 OSPF 的 ...
- 看看redis中那些好玩的module (sql on redis, bf/cf on redis)
自从redis加入了module功能之后,redis的生态就很有意思了,每个领域的大佬都会以插件的形式给redis扩展一些新的功能,比如本篇说到的rediSQL,rebloom. 一:rediSQL ...
- openlayers4 入门开发系列之迁徙图篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- [ArcGIS API for JavaScript 4.8] Sample Code-Get Started-MapView,SceneView简介
[官方文档:https://developers.arcgis.com/javascript/latest/sample-code/index.html] 一.Intro to MapView(2D ...
- 轻松搞定表白女朋友:Android版APP (零基础也可直接下载软件)
在我们平时生活当中,经常会看到一些表白女朋友的html网页,但是Android端的表白软件可以说是基本没有,笔者在全网搜了一下,就没有一个可以用的.安卓端可以给人一种定制和精美的感觉,这是网页所做不到 ...
- python3 变量理解 解释器理解 常量理解 用户交互理解 逻辑运算
先来条NLP再说...... 九,每人都已经具备使自己快乐的资源 每一个人都有过成功快乐的体验,也即是说有使自己快乐的能力. 人类只用了大脑能力极少部分,提升大脑的运用,很多新的突破便会出现. 运用大 ...