Configure the mongo Shell-官方文檔摘錄
Customize the Prompt 自定義提示
You may modify the content of the prompt by setting the variable prompt
in the mongo
shell. The prompt
variable can hold strings as well as JavaScript code. If prompt
holds a function that returns a string, mongo
can display dynamic information in each prompt.
You can add the logic for the prompt in the .mongorc.js file to set the prompt each time you start up themongo
大概的意思:你可以通過修改mongorc.js這個文件來讓你的終端提示符變得不太一樣
註意:
# vim /root/.mongorc.js
如果使用yum 裝的,這個文件在/root/目錄下
Customize Prompt to Display Number of Operations
For example,to create a mongo
shell prompt with the number of operations issued in the current session, define the following variables in the mongo
cmdCount = 1;
prompt = function() {
return (cmdCount++) + "> ";
}
The prompt would then resemble the following:
1>
2>
3>
Customize Prompt to Display Database and Hostname
To create a mongo
shell prompt in the form of <database>@<hostname>$
host = db.serverStatus().host;
prompt = function() {
return db+"@"+host+"$ ";
}
The prompt would then resemble the following:
[email protected]$
Customize Prompt to Display Up Time and Document Count
To create a mongo
shell prompt that contains the system up time and the number of documents in the current database, define the following prompt
variable in the mongo
shell:
prompt = function() {
return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > ";
}
The prompt would then resemble the following:
Uptime:5897 Documents:6 >
Use an External Editor in the mongo
Shell
You can use your own editor in the mongo
shell by setting the EDITOR
environment variable before starting the mongo
shell.
export EDITOR=vim
mongo
Once in the mongo
shell, you can edit with the specified editor by typing edit <variable>
or edit<function>
, as in the following example:
-
Define a function
myFunction
:function myFunction () { }
-
Edit the function using your editor:
edit myFunction
The command should open the
vim
edit session. When finished with the edits, save and exitvim
edit session. -
In the
mongo
shell, typemyFunction
to see the function definition:myFunction
The result should be the changes from your saved edit:
function myFunction() { print("This was edited"); }
NOTE
As mongo
shell interprets code edited in an external editor, it may modify code in functions, depending on the JavaScript compiler. For mongo
may convert 1+1
to 2
or remove comments. The actual changes affect only the appearance of the code and will vary based on the version of JavaScript used but will not affect the semantics of the code.
以上大概的意思是:通過集中方式來設置顯示的方式,需要註意的是mong shell的解釋器會依賴於js的版本,即使你使用了編輯器,還是依靠於js的解釋器。它只會影響代碼的展現而不會影響代碼本身的意思
Change the mongo
Shell Batch Size
The db.collection.find()
method is the JavaScript method to retrieve documents from a collection. Thedb.collection.find()
method returns a cursor to the results; however, in the mongo
shell, if the returned cursor is not assigned to a variable using the var
keyword, then the cursor is automatically iterated up to 20 times to print up to the first 20 documents that match the query. The mongo
shell will prompt Typeit
to iterate another 20 times.
You can set the DBQuery.shellBatchSize
attribute to change the number of documents from the default value of 20
, as in the following example which sets it to 10
:
DBQuery.shellBatchSize = 10;
大概的意思是:因為在mongo shell中,默認只會將前面20條的結果顯示出來,修改默認的顯示叠代次數,可以使用
DBQuery.shellBatchSize來設置
Configure the mongo Shell-官方文檔摘錄