日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset

發(fā)布時(shí)間:2023/11/27 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

MongoDB update修改器: $inc $set $unset $push $pull $pop

?

針對Fields的$修改器

$set:

?

{ $set: { key: value } }

?

?

?

$set:{"gender":"男"} 解釋: $set 是update時(shí)的關(guān)鍵字,表示我要設(shè)置gender屬性的值為"男"

如果該條Documents沒有g(shù)ender屬性,他就會(huì)自動(dòng)創(chuàng)建一個(gè)gender屬性并且賦值為"男"

$set是修改器之一 :設(shè)置將某key設(shè)置為某值

?

例子:

1.把 "age" 為 13 的數(shù)據(jù)? "gender" 賦值為 "男",沒有這個(gè)字段會(huì)自動(dòng)創(chuàng)建一個(gè)gender字段,并且賦值為"男"

?

> db.user.updateOne({age:13},{$set:{"gender":"男"}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> 
> 
> db.user.find({age:13})
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "籃球", "足球" ], "gender" : "男" }

?

?

?

2.把"age"為13的數(shù)據(jù) “gender”賦值為"女"

> db.user.updateOne({age:13},{$set:{"gender":"女"}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> 
> db.user.find({age:13})
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "籃球", "足球" ], "gender" : "女" }

?

?

$unset:

?

{ $unset: { key: 1} }

?

?

?

用來刪除當(dāng)前Key(field)的

例子:

刪除age=13的數(shù)據(jù)的gender這個(gè)fields

?

> db.user.updateOne({age:13},{$unset:{"gender":1}} )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> 
> db.user.find({age:13})
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "籃球", "足球" ] }

?

成功了! {$unset:{"gender" : 1}} 就是刪除 "gender" 這個(gè) fields 相當(dāng)于 關(guān)系型數(shù)據(jù)庫中刪除了 字段

?

$inc:

?

{ $inc: { key: value } }

?

?

類似于Python中的? 變量 += 1 , 將查詢到的結(jié)果 加上某一個(gè)值 然后保存

在原有值的基礎(chǔ)上增加多少,

對文檔的某個(gè)值為數(shù)字型(只能為滿足要求的數(shù)字)的鍵進(jìn)行增減的操作。

?

{$inc:{age:1} } 在年齡原有基礎(chǔ)加一歲

> db.user.find()
{ "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 }
{ "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" }
{ "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 }
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "籃球", "足球" ] }
{ "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 }
{ "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" }

把a(bǔ)ge=13的數(shù)據(jù)age增加一歲

> db.user.updateOne({age:13},{$inc:{age:1}} )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> db.user.find({age:13})
> db.user.find({age:14})
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 14, "hobby" : [ "羽毛球", "籃球", "足球" ] }

?

成功了 , {$inc:{"age":1}}的意思是,"age"的原有數(shù)值上面 +1,

那我們再來實(shí)驗(yàn)一次,把14改為34,這怎么操作呢,其實(shí)可以理解為在 14 上加一個(gè) 20

> db.user.updateOne({age:14},{$inc:{age:20}} )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> db.user.find({age:34})
{ "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "籃球", "足球" ] }

?

轉(zhuǎn)載于:https://www.cnblogs.com/mingerlcm/p/10670687.html

總結(jié)

以上是生活随笔為你收集整理的MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。