签到成功

知道了

CNDBA社区CNDBA社区

MongoDB Shell (mongosh) 工具说明

2022-05-10 14:00 3540 0 原创 MongoDB
作者: dave

1 Mongosh概述


在MongoDB 4.4 之前,我们管理MongoDB 使用的是mongo shell 工具: mongo。 在4.4 版本中,MongoDB 引入了一个新工具: mongosh。 http://www.cndba.cn/cndba/dave/article/107986

http://www.cndba.cn/cndba/dave/article/107986

https://www.mongodb.com/docs/v4.4/mongo/#comparison-of-the-mongo-shell-and-mongosh

官网对这2个工具有说明:
在v4.4 版本中,mongosh 是作为Beta版发布的,新的MongoDB Shell 工具:mongosh 比旧的mongo shell 有许多优势,比如:http://www.cndba.cn/cndba/dave/article/107986

http://www.cndba.cn/cndba/dave/article/107986
http://www.cndba.cn/cndba/dave/article/107986

  1. 改进了语法高亮显示
  2. 改进了历史命令
  3. 改进了日志

当前版本的mongosh 支持的方法是mogo shell的一个子集,实现完全的替代还需要时间。
为了保持向后兼容性,mongosh支持的方法与mongo shell中相应方法语法相同。

http://www.cndba.cn/cndba/dave/article/107986

Mongosh 支持的方法清单可以参考:
https://www.mongodb.com/docs/mongodb-shell/reference/methods/http://www.cndba.cn/cndba/dave/article/107986

2 Mongosh 安装


Mongosh 是一个开源的工具(Apache 2.0),同Database Tools 工具一样,也是需要独立进行下载和安装。

MongoDB 4.4 以后版本安装Database Tools 工具
https://www.cndba.cn/dave/article/107952

http://www.cndba.cn/cndba/dave/article/107986
http://www.cndba.cn/cndba/dave/article/107986

下载地址:http://www.cndba.cn/cndba/dave/article/107986

https://www.mongodb.com/try/download/shell

[dave@www.cndba.cn_2 data]# ls
mongodb  mongodb-database-tools-rhel70-x86_64-100.5.2  mongodb-database-tools-rhel70-x86_64-100.5.2.tgz  mongodb-mongosh-1.3.1.el7.x86_64.rpm
[dave@www.cndba.cn_2 data]# rpm -ivh mongodb-mongosh-1.3.1.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:mongodb-mongosh-1.3.1-1.el8      ################################# [100%]
[dave@www.cndba.cn_2 data]# which mongosh
/usr/bin/mongosh
[dave@www.cndba.cn_2 data]#

3 测试


[dave@www.cndba.cn_2 ~]# mongosh  -u root -p root mongodb://127.0.0.1:27018/admin
Current Mongosh Log ID: 6279fd869f0fa979c49873f3
Connecting to:          mongodb://127.0.0.1:27018/admin?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.3.1
Using MongoDB:          4.4.13
Using Mongosh:          1.3.1

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

------
   The server generated these startup warnings when booting:
   2022-05-06T13:30:22.301+08:00: You are running this process as the root user, which is not recommended
------

Warning: Found ~/.mongorc.js, but not ~/.mongoshrc.js. ~/.mongorc.js will not be loaded.
  You may want to copy or rename ~/.mongorc.js to ~/.mongoshrc.js.
shard1 [direct: primary] admin>   db.currentOp().inprog.forEach(
...     function(op) {
.....       if(op.secs_running > 50 )
.....         print("host: " + op.host
.......           + " secs_running: " + op.secs_running
.......           + " op: " + op.op
.......           + " ns: " + op.ns
.......           + " command: " + JSON.stringify(op.command)
.......           );
.....     }
...   );
host: mongodb2:27018 secs_running: 9 op: command ns: admin.$cmd command: {"isMaster":1,"maxAwaitTimeMS":{"low":10000,"high":0,"unsigned":false},"topologyVersion":{"processId":"6274b26b0668a506b628897b","counter":{"low":6,"high":0,"unsigned":false}},"internalClient":{"minWireVersion":9,"maxWireVersion":9},"$db":"admin"}
host: mongodb2:27018 secs_running: 8 op: command ns: admin.$cmd command: {"isMaster":1,"maxAwaitTimeMS":{"low":10000,"high":0,"unsigned":false},"topologyVersion":{"processId":"6274b26b0668a506b628897b","counter":{"low":6,"high":0,"unsigned":false}},"internalClient":{"minWireVersion":9,"maxWireVersion":9},"$db":"admin"}
host: mongodb2:27018 secs_running: 9 op: command ns: admin.$cmd command: {"hello":true,"maxAwaitTimeMS":10000,"topologyVersion":{"processId":"6274b26b0668a506b628897b","counter":{"low":6,"high":0,"unsigned":false}},"$clusterTime":{"clusterTime":{"$timestamp":"7095981414096568325"},"signature":{"hash":"PWNp0NA7egfJYa4kkyne3m7g6eo=","keyId":{"low":19,"high":1651591121,"unsigned":false}}},"$db":"admin"}
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating


shard1 [direct: primary] admin> rs.status().members.forEach(function(m){print(m.name+" " + m.stateStr);});
172.31.185.120:27018 SECONDARY
172.31.185.165:27018 PRIMARY
172.31.185.131:27018 SECONDARY

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8170126次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ