转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80003135

MongoDB shell 不仅仅是一个交互式的 shell,它也支持执行指定 javascript 文件,也支持执行指定的命令片断。有了这个特性,就可以将 MongoDB 与 linux shell 完美结合,完成大部分的日常管理和维护工作。

1、通过 eval 参数执行指定语句

例如,需要查询 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

2、执行指定文件中的内容

如果涉及到很多的操作后,才能得到结果,那么用 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 参数,即可以将一些登录信息屏蔽掉,这样可以让结果更清晰。


Logo

更多推荐