1 Mongosh概述
在MongoDB 4.4 之前,我们管理MongoDB 使用的是mongo shell 工具: mongo。 在4.4 版本中,MongoDB 引入了一个新工具: mongosh。
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 有许多优势,比如:
- 改进了语法高亮显示
- 改进了历史命令
- 改进了日志
当前版本的mongosh 支持的方法是mogo shell的一个子集,实现完全的替代还需要时间。
为了保持向后兼容性,mongosh支持的方法与mongo shell中相应方法语法相同。
Mongosh 支持的方法清单可以参考:
https://www.mongodb.com/docs/mongodb-shell/reference/methods/
2 Mongosh 安装
Mongosh 是一个开源的工具(Apache 2.0),同Database Tools 工具一样,也是需要独立进行下载和安装。
MongoDB 4.4 以后版本安装Database Tools 工具
https://www.cndba.cn/dave/article/107952
下载地址:
[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
版权声明:本文为博主原创文章,未经博主允许不得转载。