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, mongocan 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 shell.
Approximate meaning: You can make your terminal prompt different by modifying the mongorc.js file
note:
# vim /root/.mongorc.js
If installed with yum, this file is in the / root / directory
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 shell:
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> $, define the following variables:
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 exit vim edit session.
In the mongo shell, type myFunction 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.
The above roughly means: set the display mode in a centralized way. It should be noted that the interpreter of mong shell will depend on the version of js. Even if you use an editor, it still depends on the interpreter of js. It only affects the presentation of the code but not the meaning of the code itself
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;
The approximate meaning is: because in the mongo shell, by default, only the results of the first 20 items will be displayed, modify the default display iteration number, you can use
DBQuery.shellBatchSize to set
Configure the mongo Shell-Excerpt from official documentation
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.