Nosql Mongodb之旅(16)—MongoDB命令行操作指定命令和指定文件

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

执行指定命令

例如,需要查询test 库的t1 表中的记录数有多少,常用方法如下:

  1. [root@localhostbin]#./mongotest
  2. MongoDBshellversion:1.8.1
  3. connectingto:test
  4. >db.t1.count()
  5. 7
  6. >

通过命令行eval参数直接执行语句:

  1. [root@localhostbin]#./mongotest--eval"printjson(db.t1.count())"
  2. 7

执行指定文件

如果涉及到很多的操作后,才能得到结果,那么用eval 的方式来做的话是不可能完成的,那么更灵活的执行指定文件的方式就派上用场了。例如我们仍然要查看test 库t1 表中的记录数:

t1_count.js 就是我们要执行的文件,里面的内容如下

  1. [root@localhostbin]#catt1_count.js
  2. vartotalcount=db.t1.count();
  3. printjson('Totalcountoft1is:'+totalcount);
  4. printjson('-----------------------');

下面我们将执行这个文件

  1. [root@localhostbin]#./mongot1_count.js
  2. "Totalcountoft1is:7"
  3. "-----------------------"

大家可以看到最终得到t1表的记录数7,那么一些不必要的说明性文字我们不希望出现,怎么处理?

  1. [root@localhostbin]#./mongo--quiett1_count.js
  2. "-----------------------"
  3. [root@localhostbin]#

通过指定quiet 参数,即可以将一些登录信息屏蔽掉,这样可以让结果更清晰。

相关文章

一、引言 学习redis 也有一段时间了,该接触的也差不多了。后来有一天,以前的同事问我,如何向redis中...
一、引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译...
一、介绍 Redis客户端使用RESP(Redis的序列化协议)协议与Redis的服务器端进行通信。 虽然该协议是专门...
一、引言 redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西...
一、介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分。...
一、引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入...