mongo Shell 快速参考
最后更新于
最后更新于
在本页面
[success] Note
下面的文档是.中包含的 shell。有关新的MongoDB Shell ,mongosh的信息,请参考。
要了解这两种shell的区别,请参阅.
下表显示了mongo的一些常用选项:
显示命令行选项
help()
打印当前数据库的列表
打印当前数据库的所有角色的列表,包括用户定义的角色和内置角色。
db.<collection>
.help()
打印耗时1毫秒或更长时间的五个最新操作。 有关更多信息,请参见数据库分析器上的文档。
show dbs
use<db
>
show collections
show users
打印当前数据库列表
show roles
打印当前数据库的所有角色的列表,包括用户定义角色和内置角色。
show profile
show databases
load()
在mongo shell中,db是引用当前数据库的变量。该变量自动设置为默认数据库测试,或者在**use <db
>**切换当前数据库时设置。
下表显示了一些常见的JavaScript操作:
如果以安全模式运行,请对用户进行身份验证。
coll = db.<collection
>
将当前数据库中的特定集合设置为变量coll,如以下示例所示: coll = db.myCollection; 您可以使用变量在myCollection上执行操作,如以下示例所示: coll.find();
查找集合中的所有文档并返回一个游标。 有关更多信息和示例,请参见db.collection.find()和查询文档。 有关在mongo shell中处理游标的信息,请参阅在mongo Shell中迭代游标。
将新文档插入集合中。
将多个新文档插入集合中。
更新集合中的单个现有文档。
更新集合中的多个现有文档。
插入新文档或更新集合中的现有文档。
从集合中删除单个文档。
从集合中删除多个文档
完全删除或除去集合。
如果索引不存在,则在集合上创建一个新索引;否则,该操作无效。
使用相同的连接返回对另一个数据库的引用,而无需显式切换当前数据库。 这允许跨数据库查询。
有关在shell中执行操作的更多信息,请参见:
Up-arrow
以前的历史
Down-arrow
下一个历史
Home
行起点
End
行尾
Tab
自动完成
Left-arrow
后退字符
Right-arrow
向前字符
Ctrl-left-arrow
后向词
Ctrl-right-arrow
前向词
Meta-left-arrow
后向词
Meta-right-arrow
前向词
Ctrl-A
上线
Ctrl-B
向后字符
Ctrl-C
退出
Ctrl-D
删除字符(或退出)
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单词清除
Ctrl-Y
拉动
Ctrl-Z
挂起(作业控制在Linux中有效)
Ctrl-H (i.e. Backspace)
向后删除字符
Ctrl-I (i.e. Tab)
完成
Meta-B
后退词
Meta-C
大写词
Meta-D
杀死命令
Meta-F
转发字
Meta-L
小写词
Meta-U
大写词
Meta-Y
yank-pop
Meta-[Backspace]
撤销杀死命令
Meta-<
历史开始
Meta->
历史结束
以指定的<sort order
>返回结果。 以下示例从集合中选择所有文档,并返回按名称字段升序+1排序的结果。 使用-1降序: coll = db.users; coll.find()。sort({name:1});
以指定的<sort order
>返回符合<query
>条件的文档。
将结果限制为<n
>行。 如果只需要一定数量的行以获得最佳性能,则强烈建议使用。
跳过<n
>个结果。
返回集合中的文档总数。
mongo shell write方法将Write Concern直接集成到方法执行中,并返回一个**WriteResult()**对象,该对象包含操作结果,包括所有写错误和写关注错误。
行政命令助手
下表列出了一些支持数据库管理的常用方法:
获取当前数据库中所有集合的列表。
删除当前数据库。
您可以在mongo shell中创建新的连接。 下表显示了创建连接的方法:
db = connect("<host
><:port>/<dbname
>")
打开一个新的数据库连接。
conn = new Mongo() db = conn.getDB("dbname")
使用新的Mongo()打开与新服务器的连接。 使用连接的getDB()方法选择数据库。
下表显示了一些其他方法:
Object.bsonsize(<document
>)
考虑以下解决mongo shell及其接口的参考资料:
译者:王恒
校对:杨帅
您可以使用上下箭头键检索在 shell中发布的先前命令。 命令历史记录存储在**〜/ .dbshell**文件中。 有关更多信息,请参见 。
shell可以使用许多选项启动。 有关所有可用选项的详细信息,请参见 页面。
在不连接数据库的情况下启动mongo shell。 要稍后连接,请参阅。
与JavaScript文件(即<>])结合使用,以在运行JavaScript文件后在mongo shell中继续。 有关示例,请参见 。
shell提供了各种帮助。下表显示了一些常见的帮助方法和命令:
打印所有可用数据库的列表。 该操作对应于命令。 如果部署使用访问控制运行,则该操作将根据用户权限返回不同的值。 有关详细信息,请参见 。
将当前数据库切换到<db
>。 shell变量db设置为当前数据库。
打印当前数据库的所有集合的列表。 另可参考:
打印耗时1毫秒或更长时间的五个最新操作。 有关更多信息,请参见 。
打印所有可用数据库的列表。 该操作对应于 命令。 如果部署使用访问控制运行,则该操作将根据用户权限返回不同的值。 有关详细信息,请参见 。
执行一个JavaScript文件。 有关更多信息,请参见 。
shell提供了用于数据库操作的 。
shell提供了大多数键盘快捷键,类似于bash shell或Emacs中的快捷键。 对于某些功能, 提供了多个键绑定,以适应几种熟悉的范例。
下表列举了 shell支持的按键:
在mongo shell中,使用 和 方法执行读取操作。 方法返回一个游标对象, shell对其进行迭代以在屏幕上打印文档。 默认情况下, 打印前20个结果。 shell将提示用户“输入”以继续迭代接下来的20个结果。 下表提供了mongo shell中的一些常见读取操作:
在集合中找到符合<query
>条件的文档。 如果未指定<query
>条件或该条件为空(即{}),则读取操作将选择集合中的所有文档。 以下示例在用户集合中选择name字段等于“ Joe”的文档:coll = db.users;coll.find( { name: "Joe" } );有关指定<query
>条件的更多信息,请参见: .
查找符合<query
>条件的文档,并仅返回<projection
>中的特定字段。 以下示例从集合中选择所有文档,但仅返回名称字段和**_id字段。 除非明确指定不返回,否则始终返回_id**。 coll = db.users; coll.find({},{name:true}); 有关指定<projection
>的更多信息,请参见.。
返回与查询匹配的文档总数。 忽略和.例如,如果有100条记录匹配,但限制为10,则将返回100。这比迭代自己的速度更快,但仍然需要时间。
查找并返回一个文档。 如果找不到,则返回null。 以下示例在用户集合中选择一个名称与“ Joe”匹配的文档: coll = db.users; coll.findOne({name:“ Joe”}); 在内部,方法是带有的方法。
有关更多信息和示例,请参阅 。 请参阅。
将集合从fromColl重命名为<toColl
>。 请参阅。
另请参见以获取方法的完整列表。
另请参阅 以获取有关从mongo shell打开新连接的更多信息。
Prints the size of a <document
> in bytes
另外,MongoDB源代码存储库包括一个目录,该目录包含许多mongo shell脚本。