参考 >mongo shell > mongo shell快速参考
mongoShell命令历史记录¶您可以mongo使用向上和向下箭头键检索在外壳中发出的先前命令。命令历史记录存储在
~/.dbshell文件中。有关更多信息,请参见.dbshell。
该mongo外壳可以与众多的选择开始。有关所有可用选项的详细信息,请参见
mongo shell页面。
下表显示了一些常见的选项mongo:
| 选项 | 描述 |
|---|---|
--help |
显示命令行选项 |
--nodb |
在 要稍后连接,请参阅“ 打开新连接”。 |
--shell |
与JavaScript文件(即<file.js>)结合使用,可
有关示例,请参见JavaScript文件。 |
该mongo外壳提供了各种帮助。下表显示了一些常见的帮助方法和命令:
| 帮助方法和命令 | 描述 |
|---|---|
help |
显示帮助。 |
db.help() |
显示有关数据库方法的帮助。 |
db.<collection>.help() |
在收集方法上显示帮助。该<collection>可以是现有的集合或不存在的集合的名称。 |
show dbs |
打印服务器上所有数据库的列表。 该操作与 |
use <db> |
将当前数据库切换到<db>。该mongoshell变量db被设置为当前数据库。 |
show collections |
打印当前数据库的所有集合的列表。 也可以看看 |
show users |
打印当前数据库的用户列表。 |
show roles |
打印当前数据库的所有角色的列表,包括用户定义角色和内置角色。 |
show profile |
打印耗时1毫秒或更长时间的五个最新操作。有关更多信息,请参见数据库分析器上的文档。 |
show databases |
打印所有可用数据库的列表。 该操作与 |
load() |
执行一个JavaScript文件。有关 更多信息,请参见 mongo Shell的编写脚本。 |
该mongo外壳程序提供了用于数据库操作的
JavaScript API。
在mongo外壳程序中,db是引用当前数据库的变量。该变量自动设置为默认数据库,test或者在使用切换当前数据库时设置。use <db>
下表显示了一些常见的JavaScript操作:
| JavaScript数据库操作 | 描述 |
|---|---|
db.auth() |
如果以安全模式运行,请对用户进行身份验证。 |
coll = db.<collection> |
将当前数据库中的特定集合设置为一个变量
您可以 |
db.collection.find() |
查找集合中的所有文档并返回一个游标。 有关更多信息和示例,请参见 有关在外壳中处理游标的信息,请参阅在mongo Shell中迭代游标 |
db.collection.insertOne() |
将新文档插入集合中。 |
db.collection.insertMany() |
将多个新文档插入集合中。 |
db.collection.updateOne() |
更新集合中的单个现有文档。 |
db.collection.updateMany() |
更新集合中的多个现有文档。 |
db.collection.save() |
插入新文档或更新集合中的现有文档。 |
db.collection.deleteOne() |
从集合中删除单个文档。 |
db.collection.deleteMany() |
从集合中删除文档。 |
db.collection.drop() |
完全删除或删除集合。 |
db.collection.createIndex() |
如果索引不存在,则在集合上创建一个新索引;否则,该操作无效。 |
db.getSiblingDB() |
使用相同的连接返回对另一个数据库的引用,而无需显式切换当前数据库。这允许跨数据库查询。 |
有关在shell中执行操作的更多信息,请参见:
该mongo外壳程序提供了大多数键盘快捷键,类似于在bash外壳程序或Emacs中找到的快捷键。为某些功能
mongo提供了多个键绑定,以适应几种熟悉的范例。
下表列举了mongoShell 支持的击键
:
| 击键 | 功能 |
|---|---|
| 向上箭头 | 以前的历史 |
| 下箭头 | 下一个历史 |
| 家 | 上线 |
| 结束 | 行结束 |
| 标签 | 自动完成 |
| 左箭头 | 后向字符 |
| 右箭头 | 前向字符 |
| Ctrl-左箭头 | 后向词 |
| Ctrl-右箭头 | 前向词 |
| 元左箭头 | 后向词 |
| 元右箭头 | 前向词 |
| Ctrl-A | 上线 |
| Ctrl-B | 向后字符 |
| Ctrl-C | 退出壳 |
| Ctrl-D | delete-char(或退出外壳) |
| Ctrl-E | 行结束 |
| Ctrl-F | 转发字符 |
| Ctrl-G | 中止 |
| Ctrl-J | 接受线 |
| Ctrl-K | 杀线 |
| Ctrl-L | 清晰的画面 |
| Ctrl-M | 接受线 |
| Ctrl-N | 下一个历史 |
| Ctrl-P | 以前的历史 |
| Ctrl-R | 反向搜索历史 |
| Ctrl-S | 前向搜索历史 |
| Ctrl-T | 转置字符 |
| Ctrl-U | Unix丢弃 |
| Ctrl-W | unix-word-rubout |
| Ctrl-Y | yan |
| Ctrl-Z | 挂起(作业控制在Linux中有效) |
| Ctrl-H(即Backspace) | 向后删除字符 |
| Ctrl-I(即Tab) | 完成 |
| 元B | 后向词 |
| 元C | 大写单词 |
| 元D | 杀字 |
| 元F | 前向词 |
| 金属 | 小写词 |
| 元U | 大写单词 |
| 元Y | 扬克流行 |
| 元-[退格] | 倒杀字 |
| 元-< | 历史的开始 |
| 元-> | 历史的终结 |
在mongoShell中,使用find()和findOne()
方法执行读取操作
。
该find()方法返回一个游标对象,mongoshell对其进行迭代以在屏幕上打印文档。默认情况下,mongo打印前20个结果
mongo。shell将提示用户“ ”以继续迭代下20个结果。Type it
下表提供了mongoShell 中的一些常见读取操作
:
| 读取操作 | 描述 |
|---|---|
db.collection.find(<query>) |
下面的示例选择 有关指定 |
db.collection.find(<query>, <projection>) |
查找符合 以下示例从集合中选择所有文档,但仅返回该 有关指定的更多信息 |
db.collection.find().sort(<sort order>) |
返回指定结果。 以下示例从集合中选择所有文档,并返回按 |
db.collection.find(<query>).sort(<sort order>) |
返回<query>与指定条件中的条件相符的文档。<sort order> |
db.collection.find( ... ).limit( <n> ) |
将结果限制为<n>行。如果只需要一定数量的行以获得最佳性能,则强烈建议使用。 |
db.collection.find( ... ).skip( <n> ) |
跳过<n>结果。 |
db.collection.count() |
返回集合中的文档总数。 |
db.collection.find(<query>).count() |
返回与查询匹配的文档总数。 在 |
db.collection.findOne(<query>) |
查找并返回一个文档。如果找不到,则返回null。 以下示例在 |
该mongo壳write方法集成了
写关注直接进入方法执行,并返回一个WriteResult()包含该操作的结果,包括任何写入错误和写入错误的关注对象。
下表列出了一些支持数据库管理的常用方法:
| JavaScript数据库管理方法 | 描述 |
|---|---|
db.fromColl.renameCollection(<toColl>) |
将集合从重命名fromColl为<toColl>。请参阅
命名限制。 |
db.getCollectionNames() |
获取当前数据库中所有集合的列表。 |
db.dropDatabase() |
删除当前数据库。 |