MongoDB【MongoDB命令、CRUD操作 】(二)-全面详解(学习总结---从入门到深化)

news2025/1/11 2:24:05

 

目录

MongoDB命令

CRUD操作 


MongoDB命令

基本操作 

查看数据库

show dbs;

切换数据库 如果没有对应的数据库则创建

use 数据库名;

创建集合

db.createCollection("集合名")

查看集合

show tables;
show collections;

删除集合

db.集合名.drop();

删除当前数据库

db.dropDatabase();

实时效果反馈

1.MongoDB查看集合的命令是?

A select * from collection

B use collection

C show collections

D 以上都不对

CRUD操作 

添加文档

添加单个文档,如果集合不存在,会创建一个集合

db.collection.insertOne()

如果不指定id, MongoDB会使用ObjectId的value作为id

db.inventory.insertOne(
{ item: "canvas", qty: 100, tags: ["cotton"],
size: { h: 28, w: 35.5, uom: "cm" } })

添加多个文档

db.collection.insertMany()
db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank","red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"],size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel","blue"], size: { h: 19, w: 22.85, uom: "cm"
}}])

查询文档

首先插入一批文档,再进行查询

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" }
]);

查询集合所有文档

db.inventory.find({})

查询指定内容的文档,匹配1条

db.inventory.find( { size: { h: 14, w: 21, uom: "cm" } } )

匹配0条,原因是顺序不匹配

db.inventory.find( { size: { w: 21, h: 14, uom: "cm" } } )

匹配size中uom属性为“in”的文档

db.inventory.find( { "size.uom": "in" } )

匹配size中h属性值小于15的文档

db.inventory.find( { "size.h": { $lt: 15 } } )

匹配h属性小于15并且uom属性为“in”,并且“status”属性为"D"的文档

匹配h属性小于15并且uom属性为“in”,并且“status”属性为"D"的文档

更新文档

插入下列文档,供更新操作

db.inventory.insertMany( [
   { item: "canvas", qty: 100, size: { h: 28,w: 35.5, uom: "cm" }, status: "A" },
   { item:"journal", qty: 25, size: { h: 14, w: 21, uom:"cm" }, status: "A" },
   { item: "mat", qty: 85,size: { h: 27.9, w: 35.5, uom: "cm" }, status:"A" },
   { item: "mousepad", qty: 25, size: { h:19, w: 22.85, uom: "cm" }, status: "P" },
   { item: "notebook", qty: 50, size: { h: 8.5, w:11, uom: "in" }, status: "P" },
   { 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" },
   { item: "sketchbook", qty: 80, size: { h: 14,w: 21, uom: "cm" }, status: "A" },
   { item:"sketch pad", qty: 95, size: { h: 22.85, w:30.5, uom: "cm" }, status: "A" }] );

更新item值为“paper”的第一个文档 将它的size.uom设置为“cm”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个

db.inventory.updateOne(
   { item: "paper" },
   {$set: { "size.uom": "cm", status: "P" },
    $currentDate: { lastModified: true }}
)

更新qty属性值小于50的文档 将它的size.uom设置为“in”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则 生成一个

db.inventory.updateMany(
   { "qty": { $lt: 50 } },
   { $set: { "size.uom": "in", status: "P" },
     $currentDate: { lastModified: true }
   }
)

把item属性为“paper”的文档替换成下面的内容

db.inventory.replaceOne(
   { item: "paper" },{ item: "paper", instock:
[ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] })

删除文档

删除集合所有文档

db.inventory.deleteMany({})

删除指定条件的文档

db.inventory.deleteMany({ status : "A" })

最多删除1个指定条件的文档

db.inventory.deleteOne( { status: "D" } )

与SQL语法的对应

实时效果反馈

1.MongoDB插入单个文档命令是?

A db.collection.insertMany()

B db.collection.insertOne() 

C db.collection.find()

D 以上都不对

2.MongoDB查询集合所有文档的命令是?

A db.collection.find({id:0})

B db.collection.findAll()

C db.collection.find({})

D 以上都不对

3.MongoDB更新文档的命令不包括?

A db.collection.updateOne()

B db.collection.updateMany()

C db.collection.replaceOne()

D db.collection.replaceMany()

4.MongoDB删除集合所有文档的命令?

A db.collection.deleteOne()

B db.collection.deleteMany()

C db.collection.deleteAll()

D db.collection.deleteMany({})

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

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

相关文章

Robust Secure Aggregation with Lightweight Verification for Federated Learning

摘要: 可验证的安全聚合(VSA)是联邦学习(FL)中的关键过程,其中安全聚合实现局部梯度聚合,同时保留数据机密性,并且可验证性使参与者能够验证中央服务器(CS)返…

【Linux】程序替换

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️小林爱敲代码       🛰️博客专栏:✈️Linux之路       🛰️社区 :✈️ 进步学堂       &a…

51单片机地震监测语音报警提示系统MPU6050TTS报警

实践制作DIY- GC0153--- 地震监测语音报警提示系统 基于51单片机设计------- 地震监测语音报警提示系统 二、功能介绍: STC89C52单片机TTS语音播报模块MPU-6050角度传感器LED灯显示一个按键 1.获取MPU-6050角度数据,然后根据角度数据计算出0~10级的地震…

B站w_rid,qv_id加密分析

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除! 网站地址:aHR0cHM6Ly9zZWFyY2guYmlsaWJpbGkuY29tL2FsbD92dD03OTExMjUwNSZrZXl3b3JkPSVFNyU4OCVBQyVFOCU5OSVBQg 关键字搜…

Flutter 布局构建

文章目录 一、布局类组件简介二、理解 Flutter 布局约束三、线性布局(Row和Column)1. 主轴和纵轴2. Row3. Column4. 特殊情况 四、弹性布局(Flex 和 Expanded)1. Flex2. Expanded 五、流式布局(Wrap 和 Flow&#xff0…

记录一次Ubuntu系统安装tenforflow

电脑已有版本 Ubuntu 20.04GCC 9.4.0CUDA 11.3 需要指定版本的python库 tensorflow 2.6.0numpy 1.19.2matplotlib 3.4.0keras 2.6.0protobuf 3.19.6 我的环境

LeetCode刷题 | 583. 两个字符串的删除操作、72. 编辑距离

583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "…

Flutter Bloc组件buildWhen的妙用

在Flutter中当状态发生改变的时候,Widget会重新build刷新页面。但是当状态发生改变的时候后,我们指向让有关联的Widget重绘,与之无关的Widget保持不变,比如对于登录页面,有用户名和密码两个组件:如下图。 构建代码如下: 当我们输入用户名的时候,仅仅希望_UserNameInp…

C语言王国探险记之转义字符+结构语句

王国探险记系列 文章目录(4) 一,什么是转义字符 1.1转义字符的重要性? 二,了解一下转义字符有那些 三,精讲转义字符 3.1转义字符\n 3.2转义字符\? 3.3转义字符 \‘和\" 3.3转义字符 \\ 3.4转义字…

【云原生丶Kubernetes】Kubernetes初体验

人生若只如初见,何事秋风悲画扇。 前言 Kubernetes 是目前最流行的容器编排工具之一,由Google开发并维护。它提供了完整的容器编排解决方案,包括自动化部署、资源管理和调度、服务发现和负载均衡等功能。 然而,对于初学者来说&a…

Android Studio实现内容丰富的安卓民宿酒店预订平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号106 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看民宿 3.民…

缔造网络世界的奇迹:OSI参考模型的魔力之旅

文章目录 一 OSI参考模型1.1 OSI参考模型简介1.2 OSI参考模型的下特性和优点1.3 OSI参考模型的层次结构1.4 OSI参考模型层次间的关系以及数据封装 二 OSI参考模型的层次结构详解2.1 物理层2.2 数据链路层2.3 网络层2.3.1 网络层地址2.3.2 路由协议与可路由协议2.3.3 面向连接和…

激光SLAM(二):点云拟合和平面参数化

点云拟合和平面参数 一、平面拟合:特征值法和SVD法二、平面参数化1)Hesse形式2)球坐标3)最近点4) 单位四元数 三、直线拟合 一、平面拟合:特征值法和SVD法 平面方程如下,n是法向量,d是截距 当…

python协程—asyncio模块

目录 什么是协程 协程的特点 为什么使用协程 asyncio协程模块 多任务的协程 总结 什么是协程 协程(Coroutine)是一种并发编程的技术,它允许程序在执行过程中暂停和恢复。协程可以看作是一种特殊的函数,它可以暂停执行&#…

快速安装Kibana,head插件以及IK分词器

安装Kibana Kibana是基于node.js的,安装这个之前要先安装node.js 1 压缩包下载地址: Kibana 6.2.4 | Elastic 2.将下载的Kibana压缩包解压到任意一个没有中文没有空格的目录下,进入Kibana安装目录下的config目录,修改kibana.yml文件,添加Elasticsearch服…

钳形表校准装置 “定点输出”方式

装置具有“定点输出”方式,通过点击触摸屏,直接设置所需输出的量值,装置将全自动切换至最佳量程输出,使得校准数字式仪表变得非常方便。特别是在设定交流电压/电流输出时,直接同时输入幅值和频率即可,使用十…

【计算机视觉】对比学习综述(自己的一些理解)

对比loss 对比学习的 loss(InfoNCE)即以最 大化互信息为目标推导而来。其核心是通过计算样本表示间的距离,拉近正样本, 拉远负样本,因而训练得到的模型能够区分正负例。 具体做法为:对一个 batch 输入的图…

Tensorflow入门(1)——深度学习框架Tesnsflow入门 环境配置 认识Tensorflow

目录 一、环境配置1.Anaconda以及Tensorflow的安装2.CONDA环境安装3.测试是否成功 二、认识TensorFlow1.图 Graph()2.会话 Session()3.张量 Tensor(1)张量的形状(2)数据类型张量的动态形状与静态形状 4.张量操作(1&…

No9.精选前端面试题,享受每天的挑战和学习

文章目录 从recat源码角度说明下setState流程同源策略限制什么行为computed和watch的区别http和https的区别vue中的route和router的异同点,区别 从recat源码角度说明下setState流程 在 React 的源码中,setState 方法是用于更新组件的状态(st…

java中预览pdf或者图片

GetMapping("preview1")ApiOperation(value "根据文件名实现预览功能")public void previewFile1( HttpServletResponse response) throws IOException {String filePath"C:\\Users\\Harbor Lau\\Desktop\\哈哈\\""11月燃油费(公开).pdf&q…