参考 >mongo shell > mongo shell快速参考
mongo
Shell命令历史记录¶您可以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> 。该mongo shell变量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
提供了多个键绑定,以适应几种熟悉的范例。
下表列举了mongo
Shell 支持的击键
:
击键 | 功能 |
---|---|
向上箭头 | 以前的历史 |
下箭头 | 下一个历史 |
家 | 上线 |
结束 | 行结束 |
标签 | 自动完成 |
左箭头 | 后向字符 |
右箭头 | 前向字符 |
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 | 扬克流行 |
元-[退格] | 倒杀字 |
元-< | 历史的开始 |
元-> | 历史的终结 |
在mongo
Shell中,使用find()
和findOne()
方法执行读取操作
。
该find()
方法返回一个游标对象,mongo
shell对其进行迭代以在屏幕上打印文档。默认情况下,mongo
打印前20个结果
mongo
。shell将提示用户“ ”以继续迭代下20个结果。Type it
下表提供了mongo
Shell 中的一些常见读取操作
:
读取操作 | 描述 |
---|---|
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() |
删除当前数据库。 |