您的位置:首页 > 运维架构 > Shell

1.Configure the mongo Shell-官方文档摘录

2017-07-18 08:46 531 查看

Customize the Prompt 自定义提示

You may modify the content of the promptby 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 promptin the .mongorc.js file to set the prompteach time you start up the
mongo
shell.

大概的意思:你可以通过修改mongorc.js这个文件来让你的终端提示符变得不太一样

注意:

# vim /root/.mongorc.js

如果使用yum 装的,这个文件在/root/目录下

Customize Prompt to Display Number of Operations

For example,to create a
mongo
shell promptwith the number of operations issued in the current session, define the following variables in the
mongo
shell:

cmdCount = 1;
prompt= function() {
return (cmdCount++) + "> ";
}


The promptwould then resemble the following:

1>
2>
3>


Customize Prompt to Display Database and Hostname

To create a
mongo
shell promptin the form of
<database>@<hostname>$
, define the following variables:

host = db.serverStatus().host;

prompt= function() {
return db+"@"+host+"$ ";
}


The promptwould then resemble the following:

test@myHost1$


Customize Prompt to Display Up Time and Document Count

To create a
mongo
shell promptthat 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 promptwould 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.

以上大概的意思是:通过集中方式来设置显示的方式,需要注意的是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. The
db.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来设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: