Dragon
主机之家测评主机之家测评  2019-08-21 23:32 主机之家测评 隐藏边栏 |   抢沙发  8 
文章评分 0 次,平均分 0.0

Mongo shell 是 MongoDB 的命令行管理工具,功能非常强大,最近社区很多人咨询的一些问题,比如

  • 命令行看 json 格式比较吃力?
  • 如何确定 Secondary 节点同步是否跟上?
  • 怎么查看 DB、集合使用了多少空间?
  • 能否在 shell 脚本里调用 Mongo shell
  • 怎么执行 MongoDB 命令,比如创建集合、索引?
  • ......

上述问题都可以通过 Mongo shell 来解决,而且 Mongo shell 能做的远不止这些。

语法糖

为了方便关系型数据库的的用户切换到 MongoDB 上能快速上手,mongo shell 里做了一些语法上的兼容(最终还是通过调用 MongoDB 的命令实现的 ),例如

     列出运行日志  

执行命令

MongoDB 的所有请求都以命令的形式发出,支持的命令列表参考Database Commands

基本所有的 driver 都会实现一个通用的执行命令的接口,然后再封装出一些常用的接口(比如常用的 CRUD 操作),mongo shell 通过 runCommand 接口来实现执行命令,例如执行 serverStatus 命令

} )    

mongo shell 也对很对很多常用的命令进行了封装,让用户使用起来更简单。

常见的封装接口包括

...  

文档格式化输出

很多同学在使用 mongo shell 时,觉得文档输出后可读性差,比如

 } }  

实际上,mongo shell 可以对 cursor 的输出进行格式化(pretty)输出,JSON 的文档会被格式化输出,可读性很强

      }  }  

mongo shell 里还可以通过 printjson 来格式化输出任意 json 对象,比如

      }  

shell 脚本调用

mongo shell 除了支持交互式的调用方式,还能支持执行完一个或一批操作后自动退出,这样就能很方便的在 shell 脚本里调用 mongo shell,比如获取 MongoDB 各个命令备调用的次数。

 : 104198  }  

如果要一次执行很多个 MongoDB 的操作,可以将操作写到文件里,然后使用 mongo shell 批量执行

  100  

mongo shell 还提供『启动时执行脚本』的机制,类似与 linux shell 里的启动新的 shell 时,执行~/.bashrc 等文件的机制。

只要将脚本写入 ~/.mongorc.js 文件里, mongo shell 启动时,就会先执行这个脚本,例如

  Welcome, ZhangYoudong  >   

man 手册

上述的命令,并不需要去记忆,跟使用 linux shell 一样,需要用的时候看下 help 信息

 misc  

除了上述功能,mongo shell 还提供了命令补全、命令历史等很多实用的功能,只要习惯了使用 mongo shell,根本无需再使用图形界面来管理 MongoDB;当然为了方便更多用户,阿里云 MongoDB 云数据库 不仅支持通过 mongo shell 及 其他第三方图形管理工具访问,还附带一个 DMS 的数据库管理系统,供用户免费使用。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享