MongoDB 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(); 

切换/创建数据库

使用 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 的一些常用操作,在做一些简单的运维工作,调试工作时,会非常有效。

最后

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。


有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享

部分文档展示:




文章篇幅有限,后面的内容就不一一展示了

有需要的小伙伴,可以点下方卡片免费领取

相关文章

文章浏览阅读752次。关系型数据库关系型数据库是一个结构化的...
文章浏览阅读687次,点赞2次,收藏5次。商城系统中,抢购和秒...
文章浏览阅读1.4k次。MongoTemplate开发spring-data-mongodb...
文章浏览阅读887次,点赞10次,收藏19次。1.背景介绍1. 背景...
文章浏览阅读819次。MongoDB连接失败记录_edentialmechanisn...
文章浏览阅读470次。mongodb抽取数据到ES,使用ELK内部插件无...