DBA技术栈MongoDB: 数据增改删除

在这里插入图片描述
该博文主要介绍mongoDB对文档数据的增加、更新、删除操作。

1.插入数据

以下案例演示了插入单个文档、多个文档、指定_id、指定多个索引以及插入大量文档的情况。在实际使用中,根据需求选择适合的插入方式。

案例1:插入单个文档

db.visitor.insert({name:"John1", age:30})

案例2:插入多个文档

db.visitor.insert([{name:"John2", age:30}, {name:"Mary2", age:25}])

案例3:插入文档并指定_id

db.visitor.insert({_id:3, name:"John3", age:30})

案例4:插入文档并指定多个索引

db.visitor.insert({_id:4, name:"John4", age:30, index:true})

案例5:插入大量文档

db.visitor.insertMany([{name:"John", age:30}, {name:"Mary", age:25}, {name:"Peter", age:35},{name:"James", age:23}, {name:"MaryLi", age:26}, {name:"Jack", age:37}])

2. 更新字段

以下案例分别演示了更新单个字段、多个字段、多个文档、使用inc操作符更新数字字段和使用unset操作符删除字段的情况。

案例1:更新单个字段
在这个案例中,我们将更新集合中的一个文档的年龄字段。

db.visitor.update({_id: ObjectId("1234567890"), name: "John"}, {$set: {age: 35}})

案例2:更新多个字段
在这个案例中,我们将更新集合中的一个文档的年龄和姓名字段。

db.visitor.update({_id: ObjectId("1234567890")}, {$set: {name: "Jane", age: 35}})

案例3:更新多个文档
在这个案例中,我们将更新集合中所有年龄大于30的文档的年龄字段。

db.visitor.update({}, {$set: {age: 35}}, {multi: true})

案例4:使用inc操作符更新数字字段 在这个案例中,我们将使用inc操作符更新集合中一个文档的年龄字段。

db.visitor.update({_id: ObjectId("1234567890")}, {$inc: {age: 5}})

案例5:使用unset操作符删除字段 在这个案例中,我们将使用unset操作符删除集合中一个文档的年龄字段。

db.visitor.update({_id: ObjectId("1234567890")}, {$unset: {age: 1}})

3. 删除

以下案例分别演示了删除单个文档、多个文档、指定条件的文档、整个集合和指定数量的文档的情况。在实际使用中,根据需求选择适合的删除方式。注意,删除操作不可逆,请谨慎操作。

案例1:删除单个文档
在这个案例中,我们将删除集合中的一个文档。

db.visitor.remove({_id: ObjectId("1234567890")})

案例2:删除多个文档
在这个案例中,我们将删除集合中所有年龄大于30的文档。

db.visitor.remove({}, {multi: true})

案例3:删除指定条件的文档
在这个案例中,我们将删除集合中所有年龄大于30且名字为John的文档。

db.visitor.remove({age: {$gt: 30}, name: "John"})

案例4:删除整个集合
在这个案例中,我们将删除整个集合。

db.visitor.remove({})

案例5:删除指定数量的文档
在这个案例中,我们将删除集合中前两个文档。

db.visitor.remove({}, {limit: 2})

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

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

相关文章

深度解析 Compose 的 Modifier 原理 -- PointerInputModifier

" Jetpack Compose - - Modifier 系列文章 " 📑 《 深入解析 Compose 的 Modifier 原理 - - Modifier、CombinedModifier 》 📑 《 深度解析 Compose 的 Modifier 原理 - - Modifier.composed()、ComposedModifier 》 📑 《 深入解…

智慧文旅运营综合平台:重塑文化旅游产业的新引擎

目录 一、建设意义 二、包含内容 三、功能架构 四、典型案例 五、智慧文旅全套解决方案 - 210份下载 在数字化浪潮席卷全球的今天,智慧文旅运营综合平台作为文化旅游产业与信息技术深度融合的产物,正逐渐显现出其强大的生命力和广阔的发展前景。 该…

JAVA RPC Thrift基操实现与微服务间调用

一、Thrift 基操实现 1.1 thrift文件 namespace java com.zn.opit.thrift.helloworldservice HelloWorldService {string sayHello(1:string username) }1.2 执行命令生成Java文件 thrift -r --gen java helloworld.thrift生成代码HelloWorldService接口如下 /*** Autogene…

Android OpenGL EGL使用——自定义相机

如果要使用OpenGl来自定义相机,EGL还是需要了解下的。 可能大多数开发者使用过OpengGL但是不知道EGL是什么?EGL的作用是什么?这其实一点都不奇怪,因为Android中的GlSurfaceView已经将EGL环境都给配置好了,你一直在使用…

数据操作——Column 对象

Column 对象 1. 什么是Column对象 Column 表示了 Dataset 中的一个列, 并且可以持有一个表达式, 这个表达式作用于每一条数据, 对每条数据都生成一个值 2.Column对象如何创建 ’ 单引号 ’ 在 Scala 中是一个特殊的符号, 通过 ’ 会生成一个 Symbol 对象, Symbol 对象可以理…

《SPSS统计学基础与实证研究应用精解》视频讲解:SPSS数据查找

《SPSS统计学基础与实证研究应用精解》4.4 视频讲解 视频为《SPSS统计学基础与实证研究应用精解》张甜 杨维忠著 清华大学出版社 一书的随书赠送视频讲解4.4节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。本书旨在手把手教会使…

【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、OpenSSL介绍二、OpenSSL配置三、Window环境下配置四、Linux环境下配置五、Mac环境下配置 一、OpenSSL介绍 OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这…

Python文件操作和异常处理:高效处理数据的利器

文章目录 一、引言1.1 文件操作和异常处理对于编程的重要性1.2 Python作为实现文件操作和异常处理的强大工具 二、为什么学习文件操作和异常处理2.1 处理各种文件格式:从文本到图像到音频等2.2 确保代码的鲁棒性:有效处理异常情况 三、文件读取和写入3.1…

2023年12月 Scratch 图形化(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 在制作推箱子游戏时,地图是用数字形式储存在电脑里的,下图是一个推箱子地图,地图表示如下: 第一行(111111) 第二行(132231) 第三行(126621) 第四行( ) 第五行(152…

网络安全全栈培训笔记(56-服务攻防-数据库安全H2ElasticsearchCouchDBInfluxdb复现)

第56天 服务攻防-数据库安全&H2&Elasticsearch&CouchDB&Influxdb复现 知识点: 1、服务攻防数据库类型安全 2、influxdb,.未授权访问wt验证 3、H2 database-未授权访问-配置不当 4、CouchDB-权限绕过配合RCE-漏洞 5、ElasticSearch-文件写入&RC…

vue3前端开发,一篇文章看懂何谓pinia

vue3前端开发,pinia的基础练习第一节! 前言,pinia是为了取代vuex而诞生的产品,它有一些改进。去掉了之前的mutations。只有一个action,既可以支持异步,又支持同步。还提供了解构函数,可以把返回的对象内部属性和方法直…

给创业者的一份忠告~创业就要选择低成本的轻资产创业项目

王健林继续出售资产,5天卖了4座万达广场,出售计划仍在继续..... 根据天眼查app最新消息,厦门殿前万达广场商业管理有限公司发生工商变更,2023至今已经转让10座万达广场。两年前万达旗下的核心子公司万达商管,向一群投资…