时间:2022-12-06来源:www.pcxitongcheng.com作者:电脑系统城
MongoDB Shell 是一个功能齐全的 JS 和 Node.js 的REPL环境,用于与 MongoDB 服务器进行交互,是一个 shell 环境的客户端工具。
本文介绍一些 MongoDB Shell 的常用操作。
使用 mongosh
命令:
1 | $ mongosh |
如果开启了身份验证,则需要输入用户名和密码:
1 | $ mongosh -u root -p 123456 |
1 | $ show databases; |
或者使用别名:
1 | $ show dbs; |
MongoDB 安装好后会有3个默认的数据库(保留库):
有数据存储需要时,不建议使用这三个数据库。
当设置了副本集,一个数据库中的数据会被复制到其他副本中,而 local 库的数据仅存储于当前这台服务器,不会被复制。
从权限的角度看,admin 库是 root 数据库。如果将某个用户添加到 admin 数据库中,则该用户会自动继承所有数据库的权限。
一些特定的服务器端命令也只能在 admin 数据库中执行,比如关闭MongoDB 服务:
1 2 |
use admin; db .shutdownServer(); |
h3>切换/创建数据库
使用 use <db_name>
命令,比如:
1 | use test ; |
如果存在 test 库,则切换到该库;如不存在,将创建并切换到该库。此时再查看数据库,发现并没有刚创建的库。这是因为在 MongoDB 中,如果一个库没有任何数据,默认该库是不显示的。
连接到 MongoDB 时,默认使用的是 test 库。
test 库默认也是空的,所以也不会被展示出来。
1 | db ; |
1 | db .dropDatabase(); |
集合(collection)类似于关系型数据中表的概念。
集合的操作是建立在库之上的,所以先创建一个新的数据库:
1 | use examples; |
使用 db.createCollection(集合名称, [选项])
创建集合。
创建用户集合:
1 | db .createCollection( 'users' ) |
可选的配置项:
配置项 | 类型 | 描述 |
---|---|---|
capped | boolean | 是否创建固定集合,也就是固定大小的集合。默认为 false。当设置true时,需要指定 size 配置项。当超过最大值时,新的数据会覆盖掉最早的数据。 |
size | number | 设置固定集合的最大值,单位是字节。 |
max | number | 设置固定集合中包含文档的最大数据。 |
这些配置项很少用到,在创建集合时根据需要选用即可。
1 | $ show collections; |
或者:
1 | $ show tables; |
db.集合名称.drop();
1 | db . users .drop(); |
1 | cls; |
1 | exit ; |
或者
1 | quit(); |
或者直接使用快捷键 Ctrl + C。
本文介绍了 MongoDB Shell 的一些常用操作,在做一些简单的运维工作,调试工作时,会非常有效。
2023-03-15
Navicat远程连接MongoDB最全实现方法以及报错解决2023-03-15
MongoDB的启动方法详细总结2023-03-11
详解分库分表后非分片键如何查询GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组,下面这篇文章主要给大家介绍了关于高版本Mysql使用group by分组报错的解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下...
2023-03-06