你能够经过在 mongo shell 中设置变量 prompt 来修改提示的内容. prompt 变量能够保存字符串以及 JavaScript 代码. 若是 prompt 包含返回字符串的函数, mongo 能够在每一个提示中显式动态信息.mongodb
你能够在 .mongorc.js 文件中添加提示的逻辑以便在你每次启动 mongo shell 的时候进行提示.shell
例如, 建立一个在当前会话中显示带有操做执行数量的 mongo shell 提示, 在 mongo shell 中定义下面的变量:数据库
cmdCount = 1; prompt = function() { return (cmdCount++) + "> "; }
而后提示将会相似如下内容:vim
1> 2> 3>
以 <database>@<hostname>$ 的形式建立 mongo shell 提示符, 定义如下变量:segmentfault
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+" > "; }
而后提示将会相似如下内容:code
Uptime:5897 Documents:6 >
mongo
shell 中使用外部编辑器在启动 mongo shell 以前, 你能够设置 EDITOR 环境变量以便于在 mongo shell 中使用你本身的编辑器.server
export EDITOR=vim mongo
进入 mongo shell, 你就能够经过输入 edit <variable>
或者 edit <function>
, 使用指定的编辑器进行编辑, 以下所示:ip
定义一个函数 myFunction
:
function myFunction () { }
使用你的编辑器编辑函数:
edit myFunction
这个命令应该会打开 vim 编辑会话. 当编辑结束, 保存并对退出 vim 编辑会话.
在 mongo shell, 输入 myFunction
来查看定义的函数.
myFunction
结果应该是你保存编辑的修改:
function myFunction() { print("This was edited"); }
注意:
因为 mongo shell 能够在外部编辑器解释编辑的代码, 因此能够修改函数中的代码, 这个取决于 JavaScript 编译器. 对于 mongo 能够将1+1转化为2或者删除评论. 实际的代码仅仅影响代码的外观, 而且将根据所使用的JavaScript版本而变化, 但不会影响代码的语义.
mongo
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;
下一章: https://segmentfault.com/a/11...
本文地址: https://docs.mongodb.com/manu...