MongoDB shell 不仅仅是一个交互式的shell,它也支持执行指定javascript 文件,也支持执行指定的命令片断。有了这个特性,就可以将MongoDB 与linux shell 完美结合,完成大部分的日常管理和维护工作。
执行指定命令
例如,需要查询test 库的t1 表中的记录数有多少,常用方法如下:
- [root@localhostbin]#./mongotest
- MongoDBshellversion:1.8.1
- connectingto:test
- >db.t1.count()
- 7
- >
通过命令行eval参数直接执行语句:
- [root@localhostbin]#./mongotest--eval"printjson(db.t1.count())"
- 7
执行指定文件
如果涉及到很多的操作后,才能得到结果,那么用eval 的方式来做的话是不可能完成的,那么更灵活的执行指定文件的方式就派上用场了。例如我们仍然要查看test 库t1 表中的记录数:
t1_count.js 就是我们要执行的文件,里面的内容如下
- [root@localhostbin]#catt1_count.js
- vartotalcount=db.t1.count();
- printjson('Totalcountoft1is:'+totalcount);
- printjson('-----------------------');
下面我们将执行这个文件
- [root@localhostbin]#./mongot1_count.js
- "Totalcountoft1is:7"
- "-----------------------"
大家可以看到最终得到t1表的记录数7,那么一些不必要的说明性文字我们不希望出现,怎么处理?
- [root@localhostbin]#./mongo--quiett1_count.js
- "-----------------------"
- [root@localhostbin]#