通过Studio 3T对Mongodb进行 创建数据库/集合 增删查改集合文档操作

首先 你需要安装Studio 3T 以及启动 Mongodb服务 具体可以参考我的文章 Studio 3T客户端连接Mongodb数据库服务

我们之前 通过

javascript 复制代码
use 数据库名

随便输切换是可以的 但除了这里能看到的 它们都仅存在于内存

我们右键顶部菜单 选择 添加数据库/创建数据库

这里 我们输入数据库名称 然后 点击OK

这样 我们创建的数据库就出来了

有了数据库 用MySql这种关系型数据库的逻辑 应该就要建表了 但这里不叫表 叫集合

这里 我们双击点开自己创建的数据库目录

我们右键下面的 Collections 目录 选择 添加一个集合 如下图

我们输入一下集合的名称 然后点击创建

然后 我们双击打开它

我们 右键自己创建的集合 然后选择 Open Intellishell

这个 界面 默认就有一个查询此集合的语句

javascript 复制代码
db.getCollection("Book").find({})

我们点击这里的绿色箭头 运行代码 但是目前 我们集合中没有数据

那么 安装mysql这些关系型数据库的思维 我们应该添加一条数据 这里叫添加文档 这里都是文档

我们改写代码如下

javascript 复制代码
db.getCollection("Book").insertOne({
    "name": "springboot"
})

指定 Book 表 insertOne 指令 里面写的有点像一个json 但它叫 Bson 它有自己的格式 我们点击运行代码

这里 他就加入了一组数据了

然后 我们重写运行查询语句

javascript 复制代码
db.getCollection("Book").find({})

这下面 就能看到一个文档了 id是自动生成的 然后 name对应值 springboot

我们再来一条

javascript 复制代码
db.getCollection("Book").insertOne({
    "name": "springboot"
})

目前查看就是两条

然后 可能 一个name 满足不了我们的业务

这样加一条

javascript 复制代码
db.getCollection("Book").insertOne({
    "name": "猫猫",
    "age": 13,
    "type": "已读"
})

加了新的 age type字段

运行 OK

然后 我们再查一下

javascript 复制代码
db.getCollection("Book").find({})

你会发现 它很神奇 既然支持没有的字段 跟着文档加进来

这就是所谓的无模式 并没有很固定的模式

然后 这个 getCollection 其实我们可以简化 例如

javascript 复制代码
db.Book.find({})

db 后面直接点 集合名 也是OK的

然后 我们如果要过滤性查询 这里会比关系型数据库方便很多 不需要些什么逻辑运算符

例如 我们要查 age == 13 的 可以直接

javascript 复制代码
db.Book.find({
    "age": 13
})

直接在参数中 Bson 传入 键值名 和值 就OK了

删除的方法 叫 remove

我们就删除 age == 13的

javascript 复制代码
db.Book.remove({
    "age": 13
})

运行代码

编辑器给我们返回的状态 1.0 true 明显是成功了

这里我们整体查询一下

javascript 复制代码
db.Book.find({})

最新加的一条数据 显然是没了

这里需要注意 Mongodb 中 如果你remove不加条件 那就真成从删库到跑路了啊

然后 修改 我们可以这样写

javascript 复制代码
db.Book.update(
    { "name": "springboot" },
    { $set: { "name": "java基础" } }
)

第一个是条件 name 要等于 springboot 然后 $set 中是要改的东西 我们将name 内容改成 java基础

运行代码 状态返回是成功的

然后 我们查询语句

javascript 复制代码
db.Book.find({})

你会发现 他只改了一条

因为 update 值会改第一个达到条件的文档 一个达到 就不走了

如果要改多条 需要 updateMany

我们先给他改回去

javascript 复制代码
db.Book.update(
    { "name": "java基础" },
    { $set: { "name": "springboot" } }
)

执行成功后查询一下

javascript 复制代码
db.Book.find({})

OK 然后我们执行

javascript 复制代码
db.Book.updateMany(
    { "name": "springboot" },
    { $set: { "name": "java基础" } }
)

true 表示成功 然后 操作行数 明显变成了 2.0

然后重新查询

javascript 复制代码
db.Book.find({})

我们想在这上面写注释 直接

html 复制代码
//注释内容

就好了

相关推荐
袋鼠云数栈8 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛139246256738 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛139246256739 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
倔强的石头_10 小时前
事务边界与批量写入:避免长事务、锁等待和日志压力
数据库
努力努力再努力wz11 小时前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
坐吃山猪11 小时前
【多线程】Lock与Condition
大数据·数据库
Lightpwd12 小时前
Spring Boot 多数据源落地:AbstractRoutingDataSource + 注解切面(附源码)
数据库·后端
LabVIEW开发12 小时前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序
寺中人12 小时前
MySQL 8.0 Windows 完整安装教程:环境配置、密码重置与常见报错排查
数据库·windows·mysql·环境搭建·mysql 安装
这个DBA有点耶12 小时前
同样48核配置TPS差1倍?高性价比数据库一体机的“软硬协同”才是分水岭
服务器·数据库·架构