MongoDB Shell常用基本操作命令详解

目录
  • MongoDB Shell
  • 连接数据库
  • 库(database)的操作
    • 查看所有数据库
    • test 库
    • 查看当前数据库
    • 删除数据库
  • 集合的基本操作
    • 创建集合
    • 查看集合
    • 删除集合
  • 其他 Shell 命令
    • 清屏
    • 退出 shell
  • 小结

MongoDB Shell

MongoDB Shell 是一个功能齐全的 JS 和 Node.js 的REPL环境,用于与 MongoDB 服务器进行交互,是一个 shell 环境的客户端工具。

本文介绍一些 MongoDB Shell 的常用操作。

连接数据库

使用 mongosh 命令:

$ mongosh

如果开启了身份验证,则需要输入用户名和密码:

$ mongosh -u root -p 123456

库(database)的操作

查看所有数据库

$ show databases;

或者使用别名:

$ show dbs;

MongoDB 安装好后会有3个默认的数据库(保留库):

  • admin:存储 MongoDB 管理用户的有关信息
  • config:当 MongoDB 用于分片设置时,config 数据库在内部使用,用于保存和分片有关的信息
  • local:这个数据库永远不会被复制,可以用来存储本地单台服务器的任意集合

有数据存储需要时,不建议使用这三个数据库。

当设置了副本集,一个数据库中的数据会被复制到其他副本中,而 local 库的数据仅存储于当前这台服务器,不会被复制。

从权限的角度看,admin 库是 root 数据库。如果将某个用户添加到 admin 数据库中,则该用户会自动继承所有数据库的权限。

一些特定的服务器端命令也只能在 admin 数据库中执行,比如关闭MongoDB 服务:

use admin;
db.shutdownServer();

h3>切换/创建数据库

使用 use <db_name> 命令,比如:

use test;

如果存在 test 库,则切换到该库;如不存在,将创建并切换到该库。此时再查看数据库,发现并没有刚创建的库。这是因为在 MongoDB 中,如果一个库没有任何数据,默认该库是不显示的

test 库

连接到 MongoDB 时,默认使用的是 test 库。

test 库默认也是空的,所以也不会被展示出来。

查看当前数据库

db;

删除数据库

db.dropDatabase();

集合的基本操作

集合(collection)类似于关系型数据中表的概念。

集合的操作是建立在库之上的,所以先创建一个新的数据库:

use examples;

创建集合

使用 db.createCollection(集合名称, [选项]) 创建集合。

创建用户集合:

db.createCollection('users')

可选的配置项:

配置项 类型 描述
capped boolean 是否创建固定集合,也就是固定大小的集合。默认为 false。当设置true时,需要指定 size 配置项。当超过最大值时,新的数据会覆盖掉最早的数据。
size number 设置固定集合的最大值,单位是字节。
max number 设置固定集合中包含文档的最大数据。

这些配置项很少用到,在创建集合时根据需要选用即可。

查看集合

$ show collections;

或者:

$ show tables;

删除集合

db.集合名称.drop();

db.users.drop();

其他 Shell 命令

清屏

cls;

退出 shell

exit;

或者

quit();

或者直接使用快捷键 Ctrl + C。

小结

本文介绍了 MongoDB Shell 的一些常用操作,在做一些简单的运维工作,调试工作时,会非常有效。

以上就是MongoDB Shell常用基本操作命令详解的详细内容,更多关于MongoDB Shell操作命令的资料请关注我们其它相关文章!

(0)

相关推荐

  • MongoDB 聚合查询详解

    目录 聚合管道 管道阶段 常见操作 更多操作 - 投影 更多操作 - 展开 更多操作 - 分组 更多操作 - 入库 条件组累加器 算术运算 最值运算 数组提取 其他运算 聚合管道 聚合框架是 MongoDB 中的一组分析工具,可以对一个或多个集合中的文档进行分析. MongoDB 的聚合框架基于管道的概念:首先从集合中获取到输入,然后将输入的文档传递到一个或多个阶段,每个阶段都将之前阶段输出的内容作为输入,最终得到一个聚合结果作为输出. 上面的图是一个比较宽泛的管道流程图.这里展示一个 Mong

  • Mongodb 用户权限管理及配置详解

    一.Mongodb命令 理解 admin 数据库 安装 MongoDB 时,会自动创建 admin 数据库,这是一个特殊数据库,提供了普通数据库没有的功能. 有些用户角色赋予用户操作多个数据库的权限,而这些角色只能在 admin 数据库中创建,要创建有权操作所有数据库的超级用户,必须将该用户加入到 admin 数据库中.检查凭证时,MongoDB 将在指定数据库和 admin 数据库中检查用户账户. 内建的角色 数据库用户角色:read.readWrite;数据库管理角色:dbAdmin.dbO

  • MongoDB  数据模型的设计模式及优缺点

    目录 简介 近似值模式 属性模式 桶模式 计算模式 文档版本控制模式 扩展引用模式 异常值模式 预分配模式 模式版本控制模式 子集模式 树形模式 在实际开发中,大多数性能问题都可以追溯到糟糕的模型设计.官方也提供分享过文档模型设计的进阶技巧,这里简单翻译记录一下. 简介 官方文章的地址是 Building with Patterns: A Summary,其中汇总了 12 种设计模式及使用场景. 上述的图表列举了 12 种设计模式及应用场景,主要是以下这些: 近似值模式(Approximatio

  • MongoDB中aggregate()方法实例详解

    目录 前言 1,了解aggergate()方法 2,实现聚合表达式运算符 总结 前言 MongoDB的一个很大的好处是能够使用MapReduce来吧数据库查询的结果简化成一个与原来的集合完全不同的结构.MapReduce把一个数据库查询的值映射为一个完全不同的形式,然后简化结果,使它们的可用性更好. MongoDB有一个MapReduce框架,它也允许你使用聚合来简化吧一个MapReduce操作传输到另一个MapReduce操作的一系列过程.有了MapReduce和聚合,可以用数据生成一些不平凡

  • MongoDB超大块数据问题解决

    目录 引言 一.MongoDB服务器管理 1.添加服务器 2.修改分片中的服务器 3.删除分片 二.均衡器 三.修改块的大小 四.超大块 1.分发超大块 2.分发超大块步骤: 3.避免出现超大块 4.输出内容详解: 五.系统分析器 六.一些常见的辅助命令 引言 最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦? 让我们一起,一探究竟,继续学习解决MongoDB超大块数据问题,实现快速入门,丰富个人简历,提高面试level,给自

  • docker容器的创建及常用操作命令详解

    目录 docker容器简介 1.创建容器 2.查看本机的容器列表 3.停止和启动一个容器 4.删除容器 5.查看容器内容 6.复制命令 7.进入容器 docker容器简介 容器就是对外提供服务的一个实例. 容器启动的必要条件:容器内至少有一个进程运行在前台 1.创建容器 # 格式 docker run [参数] [镜像名称] [运行容器的启动命令] # 参数 -d : 以守护进程的方式运行一个容器 docker run -d [镜像名称] [cmd] --name : 指定容器的名称 docke

  • MongoDB TTL索引的实例详解

    MongoDB TTL索引的实例详解 TTL索引是一种特殊类型的单字段索引,主要用于当满足某个特定时间之后自动删除相应的文档.也就是说集合中的文档有一定的有效期,超过有效期的文档就会失效,会被移除.也即是数据会过期.过期的数据无需保留,这种情形适用于如机器生成的事件数据,日志和会话信息等等.本文主要描述TTL索引的使用. 一.TTL索引 创建方法 db.collection.createIndex(keys, options) options: expireAfterSeconds 指定多少秒或

  • MongoDB 查询操作的实例详解

    MongoDB 查询操作的实例详解 使用find或findOne进行查询.并可以进行范围查询.数据集查询.不等式查询,以及其他的一些查询. 查询将会返回DBcursor 游标只有在你需要的时候返回文档 针对游标返回的文档(结果集) 进行操作 例如:忽略一定数量的结果,或者返回结果的数量,以及对结果的排序. 1.指定需要返回的键 有时候仅仅对文档的某几个键值感兴趣,可以屏蔽返回的不感兴趣的键值,返回感兴趣的键值 mongos> db.blog.find({},{"name":1})

  • Linux网络设置之基础操作命令详解

    目录 查看网络配置 查看网络接口信息---ifconfig 查看路由表---route 查看网络连接情况---netstat 获取 socket 统计信息---ss 测试网络连接 测试网络连通性------ping 测试DNS域名解析------nslookup 设置网络地址参数 使用命令修改(临时配置) 修改网卡的地址.状态------ifconfig 添加.删除静态路由记录---route 修改配置文件(固定设置) 网络接口配置文件 路由配置文件 域名解析配置文件 本地主机映射文件 host

  • MongoDB中的push操作详解(将文档插入到数组)

    目录 1. 概述 2. 数据库初始化 3. 使用 Mongo Query 进行推送操作 4. 使用Java驱动代码进行推送操作 4.1. 使用 DBObject 4.2. 使用 BSON 文档 5. 使用 addToSet操作符 5.1. 使用addToSet运算符的 Shell 查询 5.2. 使用addToSet运算符的 Java 驱动程序 6. 结论 总结 1. 概述 在本教程中,我们将介绍如何在MongoDB中将文档插入到数组中.此外,我们将看到 $push 和 $addToset 运算

  • django 常用orm操作详解

    Django流程: 1 创建Django项目 : django-admin startproject projectname 2 创建应用: : python manage.py startapp appname 3 在控制器(urls.py)创建 url 与 视图函数的映射关系(一一对应) 4 创建视图函数,完成逻辑代码 5 从数据库取出集合对象 5 把数据库变量嵌入到模板进行渲染(render方法) 6 将渲染后的html页面返回给客户端 URL:协议+域名+端口+路径 协议:http 域名

  • js基础之DOM中document对象的常用属性方法详解

    -----引入 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问. 属性 1  document.anchors  返回对文档中所有 Anchor 对象的引用.还有document.links/document.forms/document.images等 2  document.URL       返回当前文档的url 3  document.title       返回当前文档的标题 4  do

  • MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回指定列的最大值 四.SUM SUM(col) 返回指定列的所有值之和 五.GROUP_CONCAT GROUP_CONCAT([DISTINCT] expr [,expr ...]              [ORDER BY {unsigned_integer | col_name | expr}

  • MySQL常用时间函数详解(推荐)

    2.6 DATE_SUB/DATE_ADD DATE_SUB(date,INTERVAL expr type) date 参数是合法的日期表达式.expr 参数是您希望添加的时间间隔. SELECT id FROM my_table WHERE create_time >= date_sub(now(), INTERVAL 3 HOUR) AND create_time < now(); Type 值 •MICROSECOND •SECOND •MINUTE •HOUR •DAY •WEEK

随机推荐