1. 程式人生 > >MongoDB之——命令列操作

MongoDB之——命令列操作

MongoDB shell 不僅僅是一個互動式的 shell,它也支援執行指定 javascript 檔案,也支援執行指定的命令片斷。有了這個特性,就可以將 MongoDB 與 linux shell 完美結合,完成大部分的日常管理和維護工作。

1、通過 eval 引數執行指定語句

例如,需要查詢 test 庫的 t1 表中的記錄數有多少,常用方法如下:

[[email protected] bin]# ./mongo test
MongoDB shell version: 1.8.1
connecting to: test
> db.t1.count()
7
>
通過命令列 eval 引數直接執行語句:
[
[email protected]
bin]# ./mongo test --eval "printjson(db.t1.count())" MongoDB shell version: 1.8.1 connecting to: test 7

2、執行指定檔案中的內容

如果涉及到很多的操作後,才能得到結果,那麼用 eval 的方式來做的話是不可能完成的,那麼更靈活的執行指定檔案的方式就派上用場了。例如我們仍然要檢視 test 庫 t1 表中的記錄數:
t1_count.js 就是我們要執行的檔案,裡面的內容如下
[[email protected] bin]# cat t1_count.js
var totalcount = db.t1.count();
printjson('Total count of t1 is : ' + totalcount);
printjson('-----------------------');
下面我們將執行這個檔案
[
[email protected]
bin]# ./mongo t1_count.js MongoDB shell version: 1.8.1 connecting to: test "Total count of t1 is : 7" "-----------------------" [[email protected] bin]#
大家可以看到最終得到 t1 表的記錄數 7,那麼一些不必要的說明性文字我們要是不希望出現該怎麼辦呢?
[[email protected] bin]# ./mongo --quiet t1_count.js
"Total count of t1 is : 7"
"-----------------------"
[
[email protected]
bin]#
通過指定 quiet 引數,即可以將一些登入資訊遮蔽掉,這樣可以讓結果更清晰。