mongo
Shell 快速参考
警告
以下文档适用于 mongo
Shell,包含在 MongoDB Server 下载中。有关新 MongoDB Shell ( mongosh
) 的信息,请参阅mongosh 文档。
要了解这两个 Shell 之间的差异,请参阅mongo
shell和 mongosh
的比较。
mongo
shell命令历史记录
您可以使用向上和向下箭头键检索以前在mongo
shell中发出的命令。 命令历史记录存储在~/.dbshell
文件中。 请参阅.dbshell 以了解更多信息。
命令行选项
可以使用多个选项启动mongo
shell 。 有关所有可用选项的详细信息,请参阅mongo shell页面。
下表显示了mongo
的一些常用选项:
命令辅助程序
mongo
shell提供各种帮助。 下表显示了一些常见的帮助方法和命令:
帮助方法和命令 | 说明 |
---|---|
help | 显示帮助。 |
显示数据库方法的帮助。 | |
显示有关集合方法的帮助。 <collection> 可以是现有集合或不存在集合的名称。 | |
show dbs | 打印服务器上所有数据库的列表。 该操作对应于 |
use <db> | |
show collections | 打印当前数据库的所有集合的列表。 |
show users | 打印当前数据库的用户列表。 |
show roles | 打印当前数据库的所有角色(包括用户定义角色和内置角色)的列表。 |
show profile | 打印最近五个耗时1毫秒或更长的操作。 有关更多信息,请参阅有关数据库分析器的文档。 |
show databases | 打印所有可用数据库的列表。 该操作对应于 |
load() | 执行 JavaScript 文件。 有关更多信息,请参阅为 mongo shell编写脚本。 |
基本shell JavaScript操作
mongo
shell为数据库操作提供了JavaScript API 。
在mongo
shell 中, db
是引用当前数据库的变量。 该变量会自动设置为默认数据库test
,或者在您使用use <db>
切换当前数据库时进行设置。
下表显示了一些常见的 JavaScript 操作:
JavaScript 数据库操作 | 说明 | ||
---|---|---|---|
如果在安全模式下运行,则对用户进行身份验证。 | |||
coll = db.<collection> | 将当前数据库中的特定集合设置为变量
您可以使用该变量对
| ||
查找集合中的所有文档并返回一个游标。 有关更多信息和示例,请参阅 有关 shell | |||
将新文档插入到集合中。 | |||
将多个新文档插入到集合中。 | |||
更新集合中的单个现有文档。 | |||
更新集合中的多个现有文档。 | |||
从集合中删除单个文档。 | |||
从集合中删除文档。 | |||
删除或完全删除集合。 | |||
如果索引不存在,则在集合上创建新索引;否则,操作无效。 | |||
使用同一连接返回对另一个数据库的引用,而无需显式切换当前数据库。 这允许跨数据库查询。 |
有关在shell中执行操作的更多信息,请参阅:
键盘快捷键
mongo
shell提供的大多数键盘快捷键与 bash
shell或 Emacs 中的快捷键类似。 对于某些函数, mongo
提供了多个键绑定,以适应几种熟悉的范例。
下表列出了mongo
shell 支持的击键:
击键 | function |
---|---|
向上箭头 | previous-history |
向下箭头 | 下一历史记录 |
房屋 | begin-of-line |
完 | end-of-line |
标签 | 自动补全 |
向左箭头 | 落后字符 |
右箭头 | Forward-Character |
Ctrl-向左箭头 | 落后词 |
Ctrl-右箭头 | forward-word |
元向左箭头 | 落后词 |
元右箭头 | forward-word |
Ctrl-A | begin-of-line |
Ctrl-B | backward-char |
Ctrl-C | exit-shell |
Ctrl-D | delete-char(或退出 shell) |
Ctrl-E | end-of-line |
Ctrl-F | forward-char |
Ctrl-G | 中止 |
Ctrl-J | 接受行 |
Ctrl-K | kill-line |
Ctrl-L | 清屏 |
Ctrl-M | 接受行 |
Ctrl-N | 下一历史记录 |
Ctrl-P | previous-history |
Ctrl-R | 反向搜索历史记录 |
Ctrl-S | forward-search-history |
Ctrl-T | 转置字符 |
Ctrl-U | unix-line-discard |
Ctrl-W | unix-word-rubout |
Ctrl-Y | yank |
Ctrl-Z | 挂起(作业控制在 Linux 中起作用) |
Ctrl-H(即 退格) | 向后删除字符 |
Ctrl-I(即 Tab) | 完成 |
Meta-B | 落后词 |
Meta-C | 大写单词 |
Meta-D | kill-word |
Meta-F | forward-word |
Meta-L | Downcase-word |
Meta-U | upcase-word |
Meta-Y | yank-pop |
Meta-[Backspace] | backward-kill-word |
Meta-< | begin-of-history |
Meta-> | 历史终结 |
查询
在mongo
shell中,使用find()
和findOne()
方法执行读取操作。
find()
方法返回一个游标对象, mongo
shell遍历该对象以在屏幕上打印文档。 默认情况下, mongo
打印第一个20 。 mongo
shell将提示用户“Type it
”以继续迭代下一个 20 结果。
下表提供了mongo
shell中的一些常见读取操作:
读取操作 | 说明 | ||
---|---|---|---|
在集合中查找与 以下示例选择
有关指定 | |||
查找与 以下示例从集合中选择所有文档,但仅返回
有关指定 | |||
返回指定 以下示例从collection中选择所有文档,并返回按
| |||
返回与指定 <sort order> 中的<query> 条件匹配的文档。 | |||
将结果限制为 <n> 行。 如果您只需一定数量的行即可获得最佳性能,强烈建议使用此选项。 | |||
跳过 <n> 结果。 | |||
返回集合中的文档总数。 | |||
查找并返回单个文档。 如果未找到,则返回 null。 以下示例选择
在内部, |
错误检查方法
mongo
shell写入方法将写关注直接集成到方法执行中,并返回一个WriteResult()
对象,其中包含操作结果,包括任何写入错误和写关注错误。
管理命令助手
下表列出了支持数据库管理的一些常用方法:
JavaScript 数据库管理方法 | 说明 |
---|---|
获取当前数据库中所有集合的列表。 | |
删除当前数据库。 |
另请参阅管理数据库方法以获取方法的完整列表。
打开其他连接
您可以在mongo
shell中创建新连接。
下表显示了创建连接的方法:
JavaScript 连接创建方法 | 说明 | ||
---|---|---|---|
| 打开新的数据库连接。 | ||
| 使用 使用连接的 |
其他
下表显示了一些其他方法:
方法 | 说明 |
---|---|
Object.bsonsize(<document>) | 打印 的 BSON 大小(以字节为单位)<document> |
其他资源
请考虑以下参考资料,其中介绍了mongo
shell 及其接口:
此外,MongoDB 源代码存储库还包括一个 jstests 目录 其中包含许多 Shellmongo
脚本。