第十四章 命令行操作MongoDB shell不僅僅是一個交互式的shell,它也支持執(zhí)行指定javascript文件,也支持執(zhí)行指定的命令片斷。
有了這個特性,就可以將MongoDB與linux shell完美結(jié)合,完成大部分的日常管理和維護(hù)工作。 14.1 通過eval參數(shù)執(zhí)行指定語句例如,需要查詢test庫的t1表中的記錄數(shù)有多少,常用方法如下: [root@localhost bin]# ./mongo test MongoDB shell version: 1.8.1 connecting to: test > db.t1.count() 7 > |
通過命令行eval參數(shù)直接執(zhí)行語句: [root@localhost bin]# ./mongo test --eval "printjson(db.t1.count())" MongoDB shell version: 1.8.1 connecting to: test 7 | 14.2 執(zhí)行指定文件中的內(nèi)容如果涉及到很多的操作后,才能得到結(jié)果,那么用eval的方式來做的話是不可能完成的,那么更靈活的執(zhí)行指定文件的方式就派上用場了。例如我們?nèi)匀灰榭磘est庫t1表中的記錄數(shù):
t1_count.js就是我們要執(zhí)行的文件,里面的內(nèi)容如下 [root@localhost bin]# cat t1_count.js var totalcount = db.t1.count(); printjson('Total count of t1 is : ' + totalcount); printjson('-----------------------'); |
下面我們將執(zhí)行這個文件 [root@localhost bin]# ./mongo t1_count.js MongoDB shell version: 1.8.1 connecting to: test "Total count of t1 is : 7" "-----------------------" [root@localhost bin]# |
大家可以看到最終得到t1表的記錄數(shù) 7,那么一些不必要的說明性文字我們要是不希望出現(xiàn)該怎么辦呢?
[root@localhost bin]# ./mongo --quiet t1_count.js "Total count of t1 is : 7" "-----------------------" [root@localhost bin]# |
通過指定quiet參數(shù),即可以將一些登錄信息屏蔽掉,這樣可以讓結(jié)果更清晰。
大學(xué)生DBA訓(xùn)練營(ChinaDBA.net)創(chuàng)始人!學(xué)費(fèi)1元,也就是這1元錢的力量,足以改變你的職業(yè)生涯
|