国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > MongoDB > 正文

MongoDB快速入門筆記(六)之MongoDB的文檔修改操作

2020-10-29 18:49:35
字體:
來源:轉載
供稿:網友

MongoDB

MongoDB 是一個開源的文檔數據庫,并領先的 NoSQL 數據庫。 MongoDB 是由 c++語言編寫。

文檔

文檔是一組鍵 - 值對。文件動態模式。動態模式是指,在相同集合中的文檔不需要具有相同的字段或結構組的公共字段的集合的文檔,可以容納不同類型的數據。

db.集合名稱.update({query},{update},upsert, multi})
query:過濾條件
update:修改內容
upsert:如果不存在查詢條件查出的記錄,是否插入一條數據,默認是false
multi:是否只修改查詢條件查出的第一條記錄,默認是false

> db.student.update({_id:1}, {name:"zhang"})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhang" }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 } 

把整條數據都修改了,如果修改內容中沒有設置age字段,則以前的age也取消了,數據全部修改

局部修改

$set:如果存在鍵則修改,如果不存在鍵則添加

> db.student.update({_id: 1},{$set:{name:"zhangsan", age: 26}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 } 

id重復時無法修改

> db.student.update({_id:1},{_id:0, name:"zhangsanzhangsan"})WriteResult({"nMatched" : 0,"nUpserted" : 0,"nModified" : 0,"writeError" : {"code" : 16837,"errmsg" : "The _id field cannot be changed from {_id: 1.0} to {_id: 0.0}."}})> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 } 

第三個參數默認為false,如果查不到數據false時不執行任何操作,true時往數據庫里新插入一條數據

> db.student.update({_id:7},{_id:7, name: "songjiu", age:32})WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })> db.student.update({_id:7},{_id:7, name: "songjiu"}, true)WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : 7 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "age" : 32 } 

第四個參數默認為false,false時表示只修改查詢到的第一條數據,true時表示修改查詢到的所有數據

> db.student.update({age:32}, {$set:{age:33}}, false, false)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 33 }{ "_id" : 7, "name" : "songjiu", "age" : 32 }> db.student.update({age:33}, {$set:{age:32}}, false, true)WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 32 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "age" : 32 }> db.student.update({age:32}, {$set:{age:33}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "age" : 32 } 

$inc:在原來的基礎上加多少

> db.student.update({_id:7}, {$inc:{age:-1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "age" : 31 } 

$unset:去掉某個鍵

> db.student.update({_id:7},{$unset:{age:1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu" } 

針對數組類型的操作

$push:當數據中不存在鍵時,創建數組類型的鍵并插入該值;如果存在該鍵,并且該鍵是數組類型時,則在此數組類型的數據上追加;如果存在該鍵,并且該鍵不是數組類型時,會報錯。
$pushAll:批量往數組中追加
$addToSet:數組中有該值時不追加,沒有該值時追加

> db.student.update({_id: 7},{$push:{skill:"java"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "java" ] }> db.student.update({_id: 7},{$push:{skill:"mongodb"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "java", "mongodb" ] }> db.student.update({_id: 7},{$push:{name:"111"}})WriteResult({"nMatched" : 0,"nUpserted" : 0,"nModified" : 0,"writeError" : {"code" : 16837,"errmsg" : "The field 'name' must be an array but is of type String in document {_id: 7.0}"}})> db.student.update({_id: 7},{$pushAll:{skill:["js","C++","java"]}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "java", "mongodb", "js", "C++", "java" ] }> db.student.update({_id:7},{$addToSet:{skill:"mongodb"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "java", "mongodb", "js", "C++", "java" ] } 

$pop:刪除數組的第一個或最后一個元素,值為-1時是刪除第一個元素,值為1時是刪除最后一個元素。

$pull:刪除數組中的某一個指定的數值

$pullAll:刪除數組中多個指定的數值

> db.student.update({_id:7},{$pop:{skill:1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "java", "mongodb", "js", "C++" ] }> db.student.update({_id:7},{$pop:{skill:-1}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "js", "C++" ] }> db.student.update({_id:7},{$pull:{skill:"js"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "C++" ] }> db.student.update({_id:7},{$pullAll:{skill:["js"]}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "C++" ] }> db.student.update({_id:7},{$pullAll:{skill:["mongodb","C++"]}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.student.find(){ "_id" : 1, "name" : "zhangsan", "age" : 26 }{ "_id" : 2, "name" : "lisi", "age" : 27 }{ "_id" : 3, "name" : "wangwu", "age" : 30 }{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }{ "_id" : 5, "name" : "qianliu", "age" : 33 }{ "_id" : 6, "name" : "sunba", "age" : 32 }{ "_id" : 7, "name" : "songjiu", "skill" : [ ] }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
欧美精品se| av片在线观看永久免费| 亚洲日本一区二区三区在线观看| 国产精品视频h| 国产日韩精品在线看| 国产系列电影在线播放网址| 国产在线高潮| 91caoporn在线| 国产精品久久久久白浆| 在线观看wwww| 最新中文字幕av专区| 91欧美在线视频| 激情综合丁香| 国产视频你懂的| 在线观看免费视频一区二区三区| 精品推荐国产麻豆剧传媒| 18成年在线观看| 任你操在线观看| 国产一区精品| 日本成人a视频| av大片在线播放| 最近久乱中文字幕| a视频在线看| 精品国产一区二区三区不卡在线 | 夜夜操天天干| 中文在线观看视频| 最近中文字幕mv免费高清视频8| 伊人永久在线| 国产日本韩国在线播放| 天堂中文在线观看| 国产日产一区二区三区| 四虎a级欧美在线观看| 国产黄色免费| 99色在线视频| 白浆爆出在线观看| 在线免费观看你懂的| 777电影在线观看| 国产三区视频在线观看| 久草.com| 久久99亚洲网美利坚合众国| 在线视频观看亚洲| 91亚洲天堂| 亚洲欧美综合乱码精品成人网| 国产黄色一级电影| 国产福利小视频在线| 国产三级在线| 国产精美视频| 99热国产在线| 亚洲视频日韩| 久久久久久久久久久久网站 | 日本亚洲精品| 青青草观看免费视频在线| 亚洲欧美自拍另类| 91九色在线看| 99久久99久久免费精品小说| 在线观看av资源网| av片在线观看| 免费午夜一级| 天天爱天天色| 国产jizz| 欧美日韩在线精品成人综合网| 波多野结衣中文字幕久久| 黄色国产网站在线观看| 中文字幕视频在线免费| av福利在线播放| 日本h视频在线观看| 福利在线国产| 国产激情网址| 亚洲成人av在线影院| 日本福利午夜视频在线| 久青青在线观看视频国产| 黄色毛片在线| 91欧美在线视频| 超碰91在线| ·天天天天操| 天堂资源中文在线| 亚洲wwwwww| 国产激情视频一区二区三区| 日韩a视频在线观看| 国产亚洲精品一区二区在线观看| 精品国内一区二区三区免费视频| 免费久久网站| 精品国内自产拍在线视频| а√天堂8资源在线官网| 国产无套粉嫩白浆在线2022年| 亚洲精品一区中文字幕电影| 国产视频三区| 天堂在线亚洲| 国产原创精品视频| wwww在线观看免费视频| 国产大学生粉嫩无套流白浆| 国内自拍视频在线观看| eeuss在线观看| 国产成人午夜精品| 国产丝袜自拍| 国产一级激情| 中文字幕毛片| 国产日产一区二区| 中文字幕麻豆| 最近中文字幕av免费高清| 久久久久久久久久久久久91| 美女网站在线观看| 亚洲精品aaaa| 日本啊v在线| 成年黄网站在线观看免费| 美女永久在线网站| 欧美日韩国产亚洲沙发| 久热中文字幕| 成人无遮挡免费网站视频在线观看| 亚洲综合天堂网| 全网国产福利在线播放| 黄色片视频在线观看| 丁香花高清视频完整版在线观看| av在线二区| 麻豆网站在线| 最好看更新中文字幕| 国产无遮挡又黄又爽免费软件| 国产寡妇树林野战在线播放| 精品入口麻豆传煤| xxxx视频在线| 国产一区二区三区四区尤物| 国产区在线观看| 亚洲精品影院在线| 丁香婷婷激情| 99re在线视频播放| 日本国产在线| √天堂中文在线| 在线三级中文| 国产毛片毛片| 91社区在线观看| 超碰在线影院| 精品女厕厕露p撒尿| 国产69精品久久久久孕妇国产69久久| 国产区在线观看| 九九99九九精彩| 97影院理论午夜| 99视频在线观看地址| 亚洲精品影视在线| 国产婷婷视频在线| 波多野结衣中文字幕久久| 国产三级视频| 成人无遮挡免费网站视频在线观看| 国产超碰精品在线观看| 国产美女在线看| 99热国产在线| 国产一卡2卡3卡4卡网站免费| 精品美女在线观看视频在线观看 | ·天天天天操| 成人午夜无人区一区二区| 亚洲成人av高清| 精品久久九九| 国产成人综合亚洲欧美在| 国产一二三区精品视频| 亚洲人成影院在线| 国产高清自拍视频在线观看| 国产你懂的在线观看| 性网站在线播放| av片在线观看永久免费| 18成年在线观看| 国产porny蝌蚪视频| 国产视频福利| 国产精品蜜臀| 国产三区四区在线观看| 中文字幕在线永久在线视频| 国产永久av在线| 粉嫩av一区| 国产精品探花在线| 狠狠干在线视频| 国产在线你懂得| 亚洲字幕成人中文在线观看| 在线国产1区| wwwww亚洲| 免费三级毛片| 国产免费黄网站| 国产私人尤物无码不卡| 精品无人乱码| 在线观看精品一区二区三区| 青青久草在线| 综合蜜桃精品| 92国产在线视频| 青青草免费观看免费视频在线| 黄色一级片视频| 国产欧美日韩第一页| 中文乱码字幕av网站| 一级二级三级在线观看| 国产在线高清理伦片a| 国产视频福利| gogo高清在线播放免费| 丁香综合在线| 精品极品三级久久久久| 日本一二区视频| 中文字幕有码在线视频| 亚洲综合天堂网| 最近免费中文字幕在线第一页| 国产叼嘿网站免费观看不用充会员| 四虎成人免费| 91蜜桃在线视频| 国产鲁鲁视频在线观看特色| 91在线网站| 美女永久在线网站|