mongoDB-mongosh

2022-05-09  本文已影响0人  husky_1

mongoDB Shell (mongosh) 是一个功能齐全的 JavaScript 和 Node.js 14.x REPL 环境,用于与 MongoDB 数据库进行交互。我们通过使用 MongoDB Shell 直接进行数据库的测试查询等操作。

1. 安装:

参考:https://www.mongodb.com/docs/mongodb-shell/install
下载链接:https://www.mongodb.com/try/download/shell?jmp=docs

2. 连接mongoDB

以windows 版本的mongosh 为例,目前mongosh 支持mongoDB 4.0 以上的版本。

2.1 连接可选参数
参数 描述
--port 数据库连接端口,默认是27017
--host 数据库主机地址,默认为localhost
--username 用户名
--password 秘密
----authenticationDatabase 身份认证的数据库名称
--tls 是否使用tls认证
2.2默认端口上的本地 MongoDB 实例

在没有任何命令行选项的情况下运行 mongosh, 是以使用默认端口 27017 连接到在本地主机上运行的 MongoDB 实例:

$mongosh.exe
Current Mongosh Log ID: 6273cd03c8bcf3b90714406a
Connecting to:          mongodb://127.0.0.1:27017/?  directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.3.1
Using MongoDB:          6.0.0-rc4
Using Mongosh:          1.3.1

等价于

mongosh.exe "mongodb://localhost:27017"

mogosh 默认连接数据库的port为27017
指定数据库连接

// 例: 指定名叫test的数据库
  mongosh.exe "mongodb://localhost:27017/test"
2.3指定端口的本地MongoDB实例
mongosh.exe "mongodb://localhost:28015"

或者通过 --port参数指定

mongosh.exe --port 28015
2.4 远程主机上的 MongoDB 实例
momgosh.exe "mongodb://[主机地址]:端口 "

例: 远程主机地址为mongodb0.example.com,端口为:28015

mongosh.exe "mongodb://mongodb0.example.com:28015"

或者是通过--host--port参数指定远程主机

mongosh.exe  --host mongodb0.example.com --port 28015
2.5 连接到服务器副本集(replica set)

例: 连接一个三个成员的副本集,集合叫replA :

  mongosh.exe "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"
2.6 查看当前连接:

当mongosh 连接数据库成功后,通过如下指令查看连接状态

$ db.geMongo()
mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.3.1

3. 操作:

3.1 增删改查(CURD)
3.1.1 插入
3.1.2 查看

语法:db.collection名.find()

示例: 先批量插入如下测试数据

db.inventory.insertMany( [
 { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
 { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
 { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
 { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
 { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);
3.1.3 更新
3.1.4 删除
上一篇下一篇

猜你喜欢

热点阅读