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

该博文主要介绍mongoDB对文档数据的增加、更新、删除操作。

1.插入数据

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

案例1:插入单个文档

bash 复制代码
db.visitor.insert({name:"John1", age:30})

案例2:插入多个文档

bash 复制代码
db.visitor.insert([{name:"John2", age:30}, {name:"Mary2", age:25}])

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

bash 复制代码
db.visitor.insert({_id:3, name:"John3", age:30})

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

bash 复制代码
db.visitor.insert({_id:4, name:"John4", age:30, index:true})

案例5:插入大量文档

bash 复制代码
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:更新单个字段

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

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

案例2:更新多个字段

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

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

案例3:更新多个文档

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

bash 复制代码
db.visitor.update({}, {$set: {age: 35}}, {multi: true})

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

bash 复制代码
db.visitor.update({_id: ObjectId("1234567890")}, {$inc: {age: 5}})

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

bash 复制代码
db.visitor.update({_id: ObjectId("1234567890")}, {$unset: {age: 1}})

3. 删除

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

案例1:删除单个文档

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

bash 复制代码
db.visitor.remove({_id: ObjectId("1234567890")})

案例2:删除多个文档

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

bash 复制代码
db.visitor.remove({}, {multi: true})

案例3:删除指定条件的文档

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

bash 复制代码
db.visitor.remove({age: {$gt: 30}, name: "John"})

案例4:删除整个集合

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

bash 复制代码
db.visitor.remove({})

案例5:删除指定数量的文档

在这个案例中,我们将删除集合中前两个文档。

bash 复制代码
db.visitor.remove({}, {limit: 2})
相关推荐
冒泡的肥皂1 小时前
MVCC初学demo(一
数据库·后端·mysql
.Shu.2 小时前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
anghost1504 小时前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
薛晓刚5 小时前
当MySQL的int不够用了
数据库
SelectDB技术团队5 小时前
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
数据库·数据仓库·数据分析·apache doris·菜鸟技术
星空下的曙光6 小时前
mysql 命令语法操作篇 数据库约束有哪些 怎么使用
数据库·mysql
小楓12016 小时前
MySQL數據庫開發教學(一) 基本架構
数据库·后端·mysql
染落林间色6 小时前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
数据库·sql
颜颜yan_6 小时前
企业级时序数据库选型指南:从传统架构向智能时序数据管理的转型之路
数据库·架构·时序数据库
lichenyang4536 小时前
管理项目服务器连接数据库
数据库·后端