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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB(课时18 修改器)

發(fā)布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB(课时18 修改器) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

3.4.3.2 修改器(原子操作)

對MongoDB數(shù)據(jù)庫而言,數(shù)據(jù)的修改會牽扯到內容的變更,結構的變更(包含數(shù)組),所以在MongoDB在設計的時候就提供有一系列的修改器的應用,那么像之前使用的“$set”就是一種修改器。

1. $inc:主要針對于一個數(shù)字字段,增加某個數(shù)字字段的數(shù)據(jù)內容;

語法:{"$inc" : {"成員" : 內容}}

范例:將所有年齡為21歲的學生成績一律減少30,年齡加1

db.students.update({"age" : 21}, {"$inc" : {"score" : -30, "age" : 1}})       # 默認只改一條數(shù)據(jù)

db.students.update({"age" : 21}, {"$inc" : {"score" : -30, "age" : 1}}, false, true)

2. $set:進行內容的重新設置

語法:{"$set" : {"成員" : "新內容"}}

范例:將年齡是20歲的人的成績修改為89

db.students.update({"age" : 20}, {"$set" : {"score" : 89}})

3. $unset:刪除某個成員的內容

語法:{"$unset" : {"成員" : 1}}

范例:刪除“張三”的年齡與成績信息

db.students.update({"name" : "張三"}, {"$unset" : {"age" : 1, "score" : 1}})

執(zhí)行之后指定的成員內容就消失了,相當于修改了表結構,而這次換成了集合結構。

4. $push:相當于將內容追加到指定的成員之中(輸出結果為數(shù)組形式)

語法:{"$push" : {成員 : value}}

范例:向“李四”添加“美術”課程

db.students.update({"name" : "李四"}, {"$push" : {"course" : "美術"}})

范例:向“張三”添加課程信息(以數(shù)組形式添加)

db.students.update({"name" : "張三"}, {"$push" : {"course" : ["語文", "數(shù)學"]}})

$push就是進行數(shù)組數(shù)據(jù)的添加操作使用的,如果沒數(shù)組則進行一個新數(shù)組的創(chuàng)建,如果有則進行內容的追加。

5. $pushAll:一次追加多個內容到數(shù)組里面

語法:{"$pushAll" : {成員 : 數(shù)組內容}}

范例:向“王五”的信息里面添加多個課程內容

db.students.update({"name" : "王五"}, {"$pushAll" : {"course" : ["美術", "音樂", "素描"]}})

6. $addToSet:向數(shù)組里增加一個新內容,只有這個內容不存在的時候才會增加

語法:{"$addToSet" : {成員 : 內容}}

范例:向“王五”中增加“跳舞”

db.students.update({"name" : "王五"}, {"$addToSet" : {"course" :?"美術"}})

因為美術不是新內容,所以沒變化。

db.students.update({"name" : "王五"}, {"$addToSet" : {"course" :?"跳舞"}})

db.students.update({"name" : "王五"}, {"$addToSet" : {"course" : ["美術", "音樂", "素描", "跳舞"]}})

7. $pop:刪除數(shù)組內第一個或最后一個數(shù)據(jù)

語法:{"$pop" : {成員 : 內容}}  # 內容設置為-1表示刪除第一個,設置為1表示刪除最后一個

范例:刪除王五的第一個課程

db.students.update({"name" : "王五"}, {"$pop" : {"course" : -1}})

范例:刪除王五的最后一個課程

?db.students.update({"name" : "王五"}, {"$pop" : {"course" : 1}})

8. $pull:從數(shù)組內刪除一個指定內容的數(shù)據(jù)

語法:{"$pull" : {成員 : 數(shù)據(jù)}}  # 語法中的數(shù)據(jù)是用來比對的,是此數(shù)據(jù)則刪除,不是則沒變化

范例:刪除王五的"跳舞"課程

db.students.update({"name" : "王五"}, {"$pull" : {"course" : "跳舞"}})

注意:$pop可一次性增加多個課程,但$pull只能一次性刪除一個課程,一次性刪除多個課程必須用$pullAll。

?

?

9. $pullAll:一次性刪除多個內容

語法:{"$pullAll" : {成員 : [數(shù)據(jù), 數(shù)據(jù), ...]}}

范例:刪除"谷大神 - A"中的三門課程

db.students.update({"name" : "谷大神 - A"}, {"$pullAll" : {"course" : ["語文", "英語", "政治"]}})

10. $rename:為成員名稱重命名

語法:{"$rename" : {舊的成員名稱 : 新的成員名稱}}

范例:將“張三”name成員名稱修改為“姓名”

db.students.update({"name" : "張三"}, {"$rename" : {"name" : "姓名"}})

?

轉載于:https://www.cnblogs.com/keye/p/7979064.html

總結

以上是生活随笔為你收集整理的MongoDB(课时18 修改器)的全部內容,希望文章能夠幫你解決所遇到的問題。

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