配置 mongo Shell
在本页面
自定义提示
您可以通过在mongo shell 中设置变量prompt
来修改提示的内容。 prompt
变量可以包含字符串以及 JavaScript 代码。如果prompt
拥有返回字符串的函数,则mongo可以在每个提示中显示动态信息。
您可以在.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 提示,请在mongo shell 中定义以下prompt
变量:
prompt = function() {
return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > ";
}
提示将类似于以下内容:
Uptime:5897 Documents:6 >
在 mongo Shell 中使用外部编辑器
通过在启动mongo shell 之前设置 EDITOR环境变量,可以在mongo shell 中使用自己的编辑器。
export EDITOR=vim
mongo
进入mongo shell 后,您可以通过 Importingedit <variable>
或edit <function>
使用指定的编辑器进行编辑,如以下示例所示:
- 定义一个函数
myFunction
:
function myFunction () { }
- 使用编辑器编辑函数:
edit myFunction
该命令应打开vim
编辑会话。完成编辑后,保存并退出vim
编辑会话。
- 在mongo shell 中,键入
myFunction
以查看函数定义:
myFunction
结果应该是保存的编辑中的更改:
function myFunction() {
print("This was edited");
}
Note
更改 mongo Shell 批处理大小
db.collection.find()方法是从collection检索文档的 JavaScript 方法。 db.collection.find()方法将cursor返回到结果;但是,在mongoShell 程序中,如果未使用var
关键字将返回的游标分配给变量,则该游标会自动重复进行多达 20 次以最多打印与查询匹配的前 20 个文档。 mongoShell 程序将提示Type it
再次迭代 20 次。
您可以设置DBQuery.shellBatchSize
属性,以从默认值20
更改文档数,如以下示例中将其设置为10
一样:
DBQuery.shellBatchSize = 10;