自定义提示
您可以通过prompt
在mongo
外壳中设置变量来修改提示的内容 。该prompt
变量可以包含字符串以及JavaScript代码。如果prompt
拥有返回字符串的函数,则mongo
可以在每个提示中显示动态信息。
您可以在.mongorc.js文件中添加提示的逻辑,以在每次启动mongo
Shell 时设置提示 。
自定义提示以显示操作数
例如,要mongo
使用当前会话中发出的操作数创建一个shell提示,请在shell中定义以下变量mongo
:
cmdCount = 1;
prompt = function() {
return (cmdCount++) + "> ";
}
提示将类似于以下内容:
1>
2>
3>
自定义提示以显示数据库和主机名
要mongo
以形式创建shell提示 <database>@<hostname>$
,请定义以下变量:
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 >
在mongo
Shell中使用外部编辑器
您可以在mongo
shell中使用自己的编辑器,方法是设置EDITOR
启动 Shell 之前的环境变量mongo
。
export EDITOR=vim
mongo
进入mongo
shell后,可以通过输入或使用指定的编辑器进行编辑,如以下示例所示:edit <variable>edit <function>
1.定义一个函数myFunction
:
myFunction
2.使用编辑器编辑函数:
edit myFunction
该命令应打开vim
编辑会话。完成编辑后,保存并退出vim
编辑会话。
3.在mongo
shell程序中,键入myFunction
以查看函数定义
myFunction
结果应该是保存的编辑中的更改:
function myFunction() {
print("This was edited");
}
注意:当mongo
shell解释在外部编辑器中编辑的代码时,它可能会修改函数中的代码,具体取决于JavaScript编译器。例如,mongo
可能会转换1+1
为 2
或删除评论。实际更改仅影响代码的外观,并且会根据所使用的JavaScript版本而有所不同,但不会影响代码的语义。
更改mongo
Shell批处理大小
可以设置DBQuery.shellBatchSize
属性以从默认值更改文档数20
,如以下示例中将其设置为10
:
DBQuery.shellBatchSize = 10;