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

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

use 数据库名

随便输切换是可以的 但除了这里能看到的 它们都仅存在于内存
在这里插入图片描述
我们右键顶部菜单 选择 添加数据库/创建数据库
在这里插入图片描述
这里 我们输入数据库名称 然后 点击OK
在这里插入图片描述
这样 我们创建的数据库就出来了
在这里插入图片描述
有了数据库 用MySql这种关系型数据库的逻辑 应该就要建表了 但这里不叫表 叫集合

这里 我们双击点开自己创建的数据库目录
在这里插入图片描述
我们右键下面的 Collections 目录 选择 添加一个集合 如下图
在这里插入图片描述
我们输入一下集合的名称 然后点击创建
在这里插入图片描述
然后 我们双击打开它
在这里插入图片描述
我们 右键自己创建的集合 然后选择 Open Intellishell
在这里插入图片描述
这个 界面 默认就有一个查询此集合的语句

db.getCollection("Book").find({})

我们点击这里的绿色箭头 运行代码 但是目前 我们集合中没有数据
在这里插入图片描述
那么 安装mysql这些关系型数据库的思维 我们应该添加一条数据 这里叫添加文档 这里都是文档

我们改写代码如下

db.getCollection("Book").insertOne({"name": "springboot"
})

指定 Book 表 insertOne 指令 里面写的有点像一个json 但它叫 Bson 它有自己的格式 我们点击运行代码
在这里插入图片描述
这里 他就加入了一组数据了

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

db.getCollection("Book").find({})

这下面 就能看到一个文档了 id是自动生成的 然后 name对应值 springboot
在这里插入图片描述
我们再来一条

db.getCollection("Book").insertOne({"name": "springboot"
})

在这里插入图片描述
目前查看就是两条
在这里插入图片描述
然后 可能 一个name 满足不了我们的业务
这样加一条

db.getCollection("Book").insertOne({"name": "猫猫","age": 13,"type": "已读"
})

加了新的 age type字段

运行 OK
在这里插入图片描述
然后 我们再查一下

db.getCollection("Book").find({})

你会发现 它很神奇 既然支持没有的字段 跟着文档加进来
在这里插入图片描述
这就是所谓的无模式 并没有很固定的模式

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

db.Book.find({})

db 后面直接点 集合名 也是OK的
在这里插入图片描述
然后 我们如果要过滤性查询 这里会比关系型数据库方便很多 不需要些什么逻辑运算符
例如 我们要查 age == 13 的 可以直接

db.Book.find({"age": 13
})

直接在参数中 Bson 传入 键值名 和值 就OK了
在这里插入图片描述
删除的方法 叫 remove
我们就删除 age == 13的

db.Book.remove({"age": 13
})

运行代码
编辑器给我们返回的状态 1.0 true 明显是成功了
在这里插入图片描述
这里我们整体查询一下

db.Book.find({})

最新加的一条数据 显然是没了
在这里插入图片描述
这里需要注意 Mongodb 中 如果你remove不加条件 那就真成从删库到跑路了啊

然后 修改 我们可以这样写

db.Book.update({ "name": "springboot" },{ $set: { "name": "java基础" } }
)

第一个是条件 name 要等于 springboot 然后 $set 中是要改的东西 我们将name 内容改成 java基础
运行代码 状态返回是成功的
在这里插入图片描述
然后 我们查询语句

db.Book.find({})

你会发现 他只改了一条
因为 update 值会改第一个达到条件的文档 一个达到 就不走了
在这里插入图片描述
如果要改多条 需要 updateMany
我们先给他改回去

db.Book.update({ "name": "java基础" },{ $set: { "name": "springboot" } }
)

执行成功后查询一下

db.Book.find({})

在这里插入图片描述
OK 然后我们执行

db.Book.updateMany({ "name": "springboot" },{ $set: { "name": "java基础" } }
)

true 表示成功 然后 操作行数 明显变成了 2.0
在这里插入图片描述
然后重新查询

db.Book.find({})

在这里插入图片描述
我们想在这上面写注释 直接

//注释内容

就好了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS自定义组件生命周期函数介绍

aboutToAppear 在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。 aboutToDisappear 在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变…

java基础day04 -- 命令行运行java文件

package com.exmaple;/*** 命令行参数*/ public class ArgsOfMain {public static void main(String[] args) {//增强for循环for(String arg : args){System.out.println(arg);}} }当我打开idea终端运行javac命令完成后(需要配置java环境变量,注意idea使…

安德尔房产数据分析

安德尔房产数据分析 安德尔房产数据分析介绍挑战概要数据集添加地理数据数据清理数据分析与解释结论困难与解决方案 安德尔房产数据分析 介绍 在这个挑战中,使用了 pandas 和数据可视化库(Matplotlib、Seaborn)来对数据集进行分析&#xff…

MySQL中order by是怎么工作的?

在如上图中所示的explain的执行结果中,Extra字段中的“Using filesort”表示的就是需要排序,MySQL会给每个线程分配一块内存用于排序,称为sort_buffer。 索引city如上图所示 上述语句的执行流程如下: 1、初始化sort_buffer&…

每天刷两道题——第十二天+第十三天

1.1合并区间 以数组 i n t e r v a l s intervals intervals 表示若干个区间的集合,其中单个区间为 i n t e r v a l s [ i ] [ s t a r t i , e n d i ] intervals[i] [starti, endi] intervals[i][starti,endi] 。请你合并所有重叠的区间,并返回 …

C语言实现简易n子棋小游戏(代码含注解)

利用C语言简单实现一个n子棋小游戏,棋盘大小由自己定义 将源文件分为 执行游戏的测试文件(test.c)和保存游戏运行逻辑的相关函数的文件(game.c) 头文件中声明符号和函数的定义(game.h) 游戏执行主要依靠二维数组实现,电脑走棋采用随机值的方法简易地…

【OpenCV学习笔记05】- 鼠标作为画笔

这是对于 OpenCV 官方文档的 GUI 功能的学习笔记。学习笔记中会记录官方给出的例子,也会给出自己根据官方的例子完成的更改代码,同样彩蛋的实现也会结合多个知识点一起实现一些小功能,来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

用win系统搭建Minecraft世界服务器,MC开服教程,小白开服教程

雨云VPS用Windows系统搭建我的世界世界服务器,Minecraft开服教程,小白开服教程,MC 1.19.4版本服务器搭建教程。 此教程使用 Mohist 1.19.4 服务端,此服务端支持Forge模组和Bukkit/Spigot/Paper插件,如果需要开其他服务…

MySQL-索引回顾

索引是面试高频问答题,参考百度/CSDN/尚硅谷/黑马程序员/阿里云开发者社区,决定将索引知识回顾一下,忘记时,点开即可,时刻保持更新,事不宜迟,即刻享用。 索引概述 索引(index&#…

transbigdata笔记:数据预处理

0 数据 使用 transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main ni1o1/transbigdata (github.com) 和transbigdata/docs/source/gallery/data/sz.json at main ni1o1/transbigdata (github.com) 0.1 导入库 import transbigdata as tbd import pandas …

VTK开发调试环境下载(VTK开发环境一步到位直接开发,无需自己配置编译 VS2017+Qt5.12.10+VTK)

一、无与伦比的优势 直接下载代码就可以调试的VTK代码仓库。 二、资源制作原理 这个资源根据VTK源码 编译出动态库文件 pdb lib dll 文件( x64 debug ) 并将这两者同时放在一个代码仓库里,下载就能用。 三、使用方法(vtk-so…

使用rembg库提取图像前景(移除图像背景),并构建web应用

1、图像中的前景与背景 在深度学习图像处理领域中,图像内容可以被定义为前景与背景两部分,其中感兴趣图形的被定义为前景,不感兴趣区域的背景。如在目标检测中,被框出来的目标则被定义为前景。此外,前景识别也可以理解…

网络安全B模块(笔记详解)- nmap扫描渗透测试

nmap扫描渗透测试 1.通过BT5对服务器场景Linux进行TCP同步扫描 (使用工具Nmap,使用参数n,使用必须要使用的参数),并将该操作使用命令中必须要使用的参数作为Flag提交; Flag:sS 2.通过BT5对服务器场景Linux进行TCP同步扫描 (使用工具Nmap,使用参数n,使用必须要使用的参数…

网工内推 | 高级网工,H3C认证优先,朝九晚六,周末双休

01 万德 招聘岗位:高级网络工程师 职责描述: 1、项目交付:项目管理和交付,包括项目前期的规划、实施以及后期的运维支持、项目验收等。 2、技术支持:为客户及合作伙伴提供网上问题远程和现场支持;对公司内…

移动通信系统关键技术多址接入MIMO学习(8)

1.Multiple-antenna Techniques多天线技术MIMO,从SISO到SIMO到MISO到如今的MIMO; 2.SIMO单发多收,分为选择合并、增益合并;SIMO,基站通过两路路径将信号发送到终端,因为终端接收到的两路信号都是来自同一天…

大模型训练营Day3 基于 InternLM 和 LangChain 搭建你的知识库

本次的授课人是一个提示词开发项目的负责人。下面一起进入本期课程吧》 本次课程内容主要如下: 开篇交代了大模型的局限性,然后引出主题: 简单总结,大模型是根据数据集训练,很难使用具有实时性的数据进行重新训练&am…

Hana 实时数据同步优化(3)

简述 CloudCanal 近期对 Hana 源端链路做了新一轮优化,优化点主要来自用户实际场景使用,这篇文章简要做下分享。 本轮优化主要包含: 新增任务级增量表新增增量表定时清理能力新增增量表表结构自动演进能力任务延迟判定优化Hana 1.x 的兼容产品化和文档…

Oracle数据库19c OCP 1z0-082考场真题解析第24题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。【云贝教育】Orac…

X3En【禾川】

地址: P9-00 波特率:【005】 DI: P4.0 滤波【微秒us】P4.1 DI1【1】使能 P4.2 DI2【2】复位 P4.3 DI3【13】禁止脉冲 P4.4 DI4【5】 P4.5 DI5【25】 P4.6 DI6【14】 P4.7 DI7【15】 P4.8 DI8【0】 P4.9 DI9【0】P4.11 DI1【逻辑】0低电…

Java并发之互斥一:管程

1、简单聊聊什么是管程模型 (共享资源):定义一个共享变量,可以理解锁,令牌这类的东西(互斥访问共享资源):获取这个锁、令牌的时候是排好队的,只允许单线程访问&#xff…