你能夠經過在 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...