自定义提示
您可以通过prompt在mongo外壳中设置变量来修改提示的内容 。该prompt变量可以包含字符串以及JavaScript代码。如果prompt拥有返回字符串的函数,则mongo可以在每个提示中显示动态信息。
您可以在.mongorc.js文件中添加提示的逻辑,以在每次启动mongoShell 时设置提示 。
自定义提示以显示操作数
例如,要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 >
在mongoShell中使用外部编辑器
您可以在mongoshell中使用自己的编辑器,方法是设置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");
}
注意:当mongoshell解释在外部编辑器中编辑的代码时,它可能会修改函数中的代码,具体取决于JavaScript编译器。例如,mongo可能会转换1+1为 2或删除评论。实际更改仅影响代码的外观,并且会根据所使用的JavaScript版本而有所不同,但不会影响代码的语义。
更改mongoShell批处理大小
可以设置DBQuery.shellBatchSize属性以从默认值更改文档数20,如以下示例中将其设置为10:
DBQuery.shellBatchSize = 10;
				
自学教程