ITPub博客

首页 > 数据库 > NoSQL > Mongodb 6.0更新文档

Mongodb 6.0更新文档

原创 NoSQL 作者:z597011036 时间:2023-09-18 11:23:32 0 删除 编辑

1.更新文档内容(满足条件有多条数据时只更新第一条数据)

db.tong.updateOne({name:'qqq'},{$set:{age:'30'}})    #更新文档查询条件中name字段为qqq,将age字段的值修改为30。只更新第一条数据。

db.tong.updateOne({name:'qqq'},{$set:{age:'300',regin:'Beijin'}})   #更新文档查询条件中name字段为qqq,将age字段的值修改为300,regin字段的值修改为Beijin。

db.tong.updateOne({name:'qqq',age:'300'},{$set:{currency:'CNY'}})   #更新文档查询条件中name字段为qqq,age字段为300,将currency的值修改为CNY。


2.更新字段

$set    更新或新增字段

$unset   删除字段

$rename   重命名字段

$inc       加减字段值

$mul      相乘字段值

$min      比较减小字段值

$max     比较增大字段值

db.tong.updateOne({name:'lisi',age:'200'},{$set:{number:44,info:{one:'1111111',two:'2222222'}}});   #查找文档name为lisi和age为200的数据,将number修改为44,into修改为数组数据。(数据存在的会修改,不存在的会增加)

db.tong.updateOne({name:'lisi',age:'200'},{$set:{"info.one":'3333333'}});    # 查找文档name为lisi和age为200的数据,修改info数组中one的值为 3333333。

db.tong.updateOne({name:'lisi',age:'200'},{$set:{"info.three":'3333333'}});    #在数据组新添加字段,并赋值。


3.删除字段

db.tong.updateOne({name:'lisi',age:'200'},{$unset:{name123:''}})    # #查找文档name为lisi和age为200的数据,删除name123字段。

db.tong.updateOne({name:'lisi',age:'200'},{$unset:{"info.one":''}})    #删除info数组中的字段


4.重命名字段

db.tong.updateOne({name:'lisi',age:'200'},{$rename:{"regin":'region'}})     #将字段 regin重命名为 region。


5.更新字段值(只能用在整型数字)

$inc     加减值

$mul     乘除值

$min    将值比较之后更新成最小的值

$max    将值比较之后更新成最大的值

db.tong.updateOne({name:'qqq'},{$inc:{number:-0.5}});    #将number字段的值减去0.5(如果字段不存在,会新建字段并赋值)

db.tong.updateOne({name:'qqq'},{$inc:{number:+1}});      # 将number字段的值加1

db.tong.updateOne({name:'qqq'},{$mul:{number:2}});       # 将number字段的值乘以2(如果字段不存在,会新建字段并赋值0)

db.tong.updateOne({name:'qqq'},{$mul:{number:0.5}});     # 将number字段的值除以2

db.tong.updateOne({name:'qqq'},{$min:{number:100}});   #如果number存在的值小于100,那保留原先的值(如果更新字段的类型和值类型不一至,会按BSON数据类型排序规则进行比较)

db.tong.updateOne({name:'qqq'},{$max:{number:100}});   # 如果number存在的值小于100,那更新至当前值 (如果更新字段的类型和值类型不一至,会按BSON数据类型排序规则进行比较


6.更新数组

$addToSet       #向数组中增添元素   

$pop               #从数组中移除元素

$pull               #从数组中有选择性地移除元素

$pullAll           #从数组中有选择性地移除元素

$push             #向数组中增添元素

db.orders.updateOne({one:"123"},{$addToSet:{three:{aaa:"111",bbb:"222",ccc:"333"}}})   #在three数组中增添元素


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25854343/viewspace-2984094/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-03-31

  • 博文量
    79
  • 访问量
    486684