分类: Mysql/postgreSQL
2012-07-27 21:51:31
MongoDB shell不仅仅是一个交互式的shell,它也支持执行指定javascript文件,也支持执行指定的命令片断。
有了这个特性,就可以将MongoDB与linux shell完美结合,完成大部分的日常管理和维护工作。
例如,需要查询test库的t1表中的记录数有多少,常用方法如下:
[root@localhost bin]# ./mongo test MongoDB shell version: 1.8.1 connecting to: test > db.t1.count() 7 > |
通过命令行eval参数直接执行语句:
[root@localhost bin]# ./mongo test --eval "printjson(db.t1.count())" MongoDB shell version: 1.8.1 connecting to: test 7 |
如果涉及到很多的操作后,才能得到结果,那么用eval的方式来做的话是不可能完成的,那么更灵活的执行指定文件的方式就派上用场了。例如我们仍然要查看test库t1表中的记录数:
t1_count.js就是我们要执行的文件,里面的内容如下
[root@localhost bin]# cat t1_count.js var totalcount = db.t1.count(); printjson('Total count of t1 is : ' + totalcount); printjson('-----------------------'); |
下面我们将执行这个文件
[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表的记录数 7,那么一些不必要的说明性文字我们要是不希望出现该怎么办呢?
[root@localhost bin]# ./mongo --quiet t1_count.js "Total count of t1 is : 7" "-----------------------" [root@localhost bin]# |
通过指定quiet参数,即可以将一些登录信息屏蔽掉,这样可以让结果更清晰。