2020MongoDB基本命令-U操作(改)

2020MongoDB基本命令-U操作(改)

基础

2020MongoDB基本命令-C操作(增)
2020MongoDB基本命令-R操作(查)
2020MongoDB基本命令-U操作(改)
2020MongoDB基本命令-C操作(删)

进阶

2020MongoDB进阶-排序、分页
2020MongoDB进阶-聚合查询

持续更新…

  1. 基础语法

db.集合名.update(条件,新数据,[是否新增,是否修改多条])
是否新增:条件匹配不到数据,则插入数据 ,true是插入,默认false
是否修改多条:将匹配的数据都修改,true是都修改,默认false是值修改一条

2.准备工作

//使用test2数据库
use test2
//给c2集合添加数据,无需创建c2集合,直接使用
for(var i=0;i<10;i++){ db.c2.insert({uname:"b"+i,age:i}); }
//查询数据
 db.c2.find()

结果

{ “_id” : ObjectId(“5fc30eded3263166f5fd1b9f”), “uname” : “b0”, “age” : 0 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba0”), “uname” : “b1”, “age” : 1 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba1”), “uname” : “b2”, “age” : 2 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba2”), “uname” : “b3”, “age” : 3 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba3”), “uname” : “b4”, “age” : 4 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba4”), “uname” : “b5”, “age” : 5 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba5”), “uname” : “b6”, “age” : 6 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba6”), “uname” : “b7”, “age” : 7 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba7”), “uname” : “b8”, “age” : 8 }
{ “_id” : ObjectId(“5fc30eded3263166f5fd1ba8”), “uname” : “b9”, “age” : 9 }

  1. 如果我们直接修改,按下面语法,修改b1的uname为b10
db.c2.update({uname:"b3"},{uname:"b10"})

结果:我们只是把b3这一行替换了,肯定不对,所以我们需要引入修改器的概念
result

修改器

修改器功能
$inc递增
$rename重命名列
$set修改列值
$unset删除列

示例1.修改b4的值为b11

db.c2.update({uname:"b4"},{$set:{uname:"b10"}})

结果:修改成功
result

示例2:让b5的年龄增加3岁

 db.c2.update({uname:"b5"},{$inc:{age:3}})

结果:
result

注意!!,如果是减的话,那么可以用{$inc:{age:-1}}

示例3:如何一次性修改多个数据

准备工作,插入一条数据

db.c2.insert({uname:"ppl",age:23,feature:"帅",money:0})

结果:成功插入数据
结果
要求:姓名成小龙,年龄加1岁,把feature这个字段换成advantage,最后把money这个字段删除

db.c2.update({uname:"ppl"},{
	$set:{uname:"小龙"},
	$inc:{age:1},
	$rename:{feature:"advantage"},
	$unset:{money:true}
})

结果
result

示例4:最后两个参数的使用方法

准备工作 :插入一条并不存在的数据

db.c2.update({uname:"AAA"},{$set:{age:30}})

result

那么第三个参数的作用就出来了-找不到就直接插入改数据

db.c2.update({uname:"AAA"},{$set:{age:30}},true)

结果:
result

示例5:第四个参数的作用:修改多条数据

题目:将集合中所有用户的年龄改成20岁

db.c2.update({},{$set:{age:20}},false,true)

结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GGIOPPL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值