通过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函数中改变状态变…

【Leetcode】253.会议室II

一、题目 1、题目描述 给你一个会议时间安排的数组intervals,每个会议时间都包括开始和结束时间 intervals[i] = [starti,endi],为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。 示例1: 输入:intervals = [[0,3…

rust中Atomic Ordering含义总结

Relaxed 最基础的内存排序要求,只要求当前原子操作是要么完全执行,要么还未执行,其操作结果的可见性同步在其他线程没有任何顺序的保证Acquire 适用于读取数据操作,要求: 当前线程不能有其他的读或写被 reorder 在 loa…

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…

Django 简介 应用场景 优势 不足

简介 Django 是一个开放源代码的 Web 应用框架,使用 Python 编程语言编写。它遵循了 “MTV”(模型-模板-视图)的设计模式,旨在帮助开发者快速构建高质量、易维护的 Web 应用程序。 应用场景 Web 应用开发:Django 适…

231.【2023年华为OD机试真题(C卷)】小明找位置(二分查找-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-小明找位置二.解题思路三.题解代码Python题解代…

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) 游戏执行主要依靠二维数组实现,电脑走棋采用随机值的方法简易地…

XGBoost(eXtreme Gradient Boosting)

什么是机器学习 XGBoost(eXtreme Gradient Boosting)是一种梯度提升树算法,它在梯度提升框架的基础上引入了一些创新性的特性,以提高模型性能和训练速度。XGBoost在解决结构化数据的分类和回归问题上表现出色,成为许多…

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

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

leetcode-相同的树

100. 相同的树 使用递归的方法 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def isSameTree(self, p: …

QTAV的编译、使用及遇到的问题

最近有个功能需求,界面可以直播显示某个特定摄像头的实时画面,通过对Qt本身的 QMiediaPlayer,和其他一些在网上找到的组件做了一些对比,最终选择了QtAv作为我们的组件使用。 QtAV 是一个基于 Qt 和 FFmpeg 的跨平台、高性能多媒体播放框架。…

CSAPP - string_length反汇编

虽然先前已经把 phase_1 和 phase_2 做出来了, 但其实是参考了网络上的答案, 仅仅是大概知道了关键汇编代码。但其实并没有真的懂。为啥呢?因为很多模棱两可的地方是靠猜测的,而猜测是脆弱的。 重新看 phase_1, 第一个…

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

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

Linux 开启Swap交换内存

Linux 开启Swap交换内存 Linux 开启Swap交换内存 Linux 开启Swap交换内存 由于阿里云服务器内存空间有点小,但是又不能加内存,则想到使用Swap交换空间,用硬盘空间充当内存使用。 开启步骤,以4G为例: 1.创建交换文件…

K8S---kubectl top

一、简介 该命令类似于linux–top命令,用于显示node和pod的CPU和内存使用情况 二、命令行 /opt/kubernetes/bin/kubectl --kubeconfig /opt/kubernetes/conf/default-admin.kubeconfig top pod --help /opt/kubernetes/bin/kubectl --kubeconfig /opt/kube…

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 …