免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2355 | 回复: 0
打印 上一主题 下一主题

[MongoDB] [原创] MongoDB管理与开发精要《红丸出品》14 命令行操作 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-27 21:58 |只看该作者 |倒序浏览
第十四章 命令行操作

MongoDB shell不仅仅是一个交互式的shell,它也支持执行指定javascript文件,也支持执行指定的命令片断。


有了这个特性,就可以将MongoDB与linux shell完美结合,完成大部分的日常管理和维护工作。

14.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
14.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参数,即可以将一些登录信息屏蔽掉,这样可以让结果更清晰。



大学生DBA训练营(ChinaDBA.net)创始人!学费1元,也就是这1元钱的力量,足以改变你的职业生涯


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP