- Frequently Asked Questions >
- FAQ: mongo 命令行
FAQ: mongo 命令行¶
如何在 mongo 命令行中输入多行命令?¶
如果你的结束行是 ('(')、 ('{') 或者 ('[') ,那么下面的命令行将会以 ("...") 开始,直到你输入与之对应的 (')')、 ('}') 或者 (']')。mongo 命令行程序将会等待你输入配对括号后再执行,正如下面的例子:
> if ( x > 0 ) {
... count++;
... print (x);
... }
你可以输入两个空白行结束当前的多行命令,如下面的例子:
> if (x > 0
...
...
>
我可以临时连接另一个数据库吗?¶
你无须切换数据库就可以使用 db.getSiblingDB() 方法连接另一个数据库,如下面的例子:此时正在使用 test 数据库,然后连接 ``sampleDB``数据库。
use test
db.getSiblingDB('sampleDB').getCollectionNames();
mongo``命令行支持 ``<Tab> 自动完成和其它快捷键吗?¶
mongo 命令行程序支持快捷键。比如,
使用上/下方向键可以滑动查看之前的命令。在 :ref:`.dbshell <mongo-dbshell-file>`文件中查看更多说明。
使用 <Tab> 可以自动完成命令或者展开可能需要的命令列表,如下面的例子:使用 <Tab> 列出以 'c' 开头的方法:
db.myCollection.c<Tab>
因为在众多方法的集合中有很多以 'c' 开始,所以 <Tab> 将会列出这些方法。
所有快捷键,请看 Shell Keyboard Shortcuts
我可以自定义 mongo 命令行的提示符吗?¶
1.9 新版功能.
你可以通过设置 prompt 变量修改 mongo 命令行的提示符。这样可以使其显示更多的提示信息。
你可以将 prompt 设置为任意字符串或者通过JavaScript代码返回一个字符串,考虑一下下面的例子:
使命令提示符显示正在使用的主机和数据库:
var host = db.serverStatus().host; var prompt = function() { return db+"@"+host+"> "; }
The mongo shell prompt should now reflect the new prompt:
test@my-machine.local>
使命令提示符显示数据库统计数:
var prompt = function() { return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > "; }
The mongo shell prompt should now reflect the new prompt:
Uptime:1052 Documents:25024787 >
你可以在 .mongorc.js 文件中为提示符添加一个逻辑值,每次打开 mongo 命令行都可以设置其提示符。