警告
以下文档涉及mongo
Shell,包含在MongoDB Server下载中。有关新MongoDB Shell ()mongosh
的信息,请参阅mongosh文档。
要了解这两个 Shell 之间的差异,请参阅mongo
shell和 mongosh
的比较。
自定义提示
您可以通过在mongo
shell中设置变量 prompt
来修改提示内容。 prompt
变量可以保存字符串以及JavaScript代码。 如果 prompt
包含返回string的函数,则mongo
shell可以在每个提示中显示动态信息。
您可以在.mongorc.js文件中添加提示逻辑,以便在每次启动mongo
shell时设立提示。
自定义提示以显示操作次数
示例,要创建mongo
shell提示符,其中显示当前会话中发出的操作数量,请在mongo
shell中定义以下变量:
cmdCount = 1; prompt = function() { return (cmdCount++) + "> "; }
然后,提示符将类似于以下内容:
1> 2> 3>
自定义显示数据库和主机名的提示
要以 <database>@<hostname>$
形式创建mongo
shell提示符,请定义以下变量:
host = db.serverStatus().host; prompt = function() { return db+"@"+host+"$ "; }
然后,提示符将类似于以下内容:
test@myHost1$
自定义显示时间和文档计数的提示
mongo
shell要创建包含系统正常运行时间 和 当前数据库中文档数量的 提示符,请在 中定义以下prompt
mongo
shell变量:
prompt = function() { return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > "; }
然后,提示符将类似于以下内容:
Uptime:5897 Documents:6 >
在 Shell中使用外部编辑器mongo
shell
您可以在启动mongo
shell 之前 设置EDITOR
mongo
环境变量,从而在shell 中使用自己的编辑器。
export EDITOR=vim mongo
进入mongo
shell后,您可以通过键入 edit <variable>
或 edit <function>
使用指定的编辑器进行编辑,如以下示例:
定义函数
myFunction
:function myFunction () { } 使用编辑器编辑函数:
edit myFunction 该命令应打开
vim
编辑会话。 完成编辑后,保存并退出vim
编辑会话。在
mongo
shell中,键入myFunction
以查看函数定义:myFunction 结果应该是已保存编辑的更改:
function myFunction() { print("This was edited"); }
更改mongo
shell Shell批处理大小
db.collection.find()
方法是用于从集合中检索文档的JavaScript方法。 db.collection.find()
方法返回指向结果的游标;但是,在mongo
shell中,如果未将返回的游标分配给使用 var
关键字的变量,则该游标会自动迭代最多 20 次,以打印最多前 20 个文档,这些文档匹配查询。 mongo
shell将提示 Type it
再迭代 20 次。
您可以设立DBQuery.shellBatchSize
属性以更改文档数的默认值20
,如以下示例,将其设置为10
:
DBQuery.shellBatchSize = 10;