摘要:從數(shù)組末端進(jìn)行刪除從數(shù)組開(kāi)端進(jìn)行刪除刪除從末端刪除最后一個(gè)元素刪除從開(kāi)始刪除第一個(gè)元素?cái)?shù)組定位修改將小王的興趣的第二項(xiàng)修改為
初識(shí)update修改器
$set修改器
db.workmate.update({"name": "MinJie"}, {$set: {sex: 2, age: 21} });
// 修改嵌套內(nèi)容 db.workmate.update({"name": "MinJie"}, {$set: {skill.skillThree: "word"} })
$unset用于刪除
db.workmate.update({"name":"MinJie"}, {$unset: {"age": ""}}) // 這樣就成功的把a(bǔ)ge這個(gè)字段刪除了
如果想要再次添加可以使用$set進(jìn)行添加,只是添加的內(nèi)容到了整個(gè)文檔的最后面了。
$inc對(duì)數(shù)字進(jìn)行計(jì)算
// 它是對(duì)value值的修改,但是修改的必須是數(shù)字,字符串是不起效果的。 db.workmate.update({"name": "MenJie"}, {$inc: {age: -2}}) // 年齡減去2
multi選項(xiàng)
// 為每個(gè)文檔都添加一個(gè)屬性 db.workmate.update({}, {$set: {interset: [] }}) // 如果你這樣寫了,只會(huì)在第一個(gè)文檔上添加該條信息 // 因此這就用到了multi選項(xiàng)了 db.workmate.update({}, {$set: {interset: [] }, { multi: true} }) // 這時(shí)候每個(gè)數(shù)據(jù)都發(fā)生了改變,multi是有ture和false兩個(gè)值,true代表全部修改,false代表只修改一個(gè)(默認(rèn)值)
upsert選項(xiàng)
// upsert是在找不到值的情況下直接插入該條數(shù)據(jù) db.workmate.update({name:"xiaoWang"},{$set:{age:20}},{upsert:true}) // upsert也有兩個(gè)值:true代表沒(méi)有就添加,false代表沒(méi)有不添加(默認(rèn)值)。
update數(shù)組修改器
$push數(shù)組追加器
db.workmate.update({"name": "xiaowang"}, {$push: {interest: "draw"}} ) // 要給小王加上一個(gè)愛(ài)好(interset)為畫畫(draw):
$ne查找是否存在
// 檢查一個(gè)值是否存在,如果不存在再執(zhí)行操作,存在就不執(zhí)行 db.workmate.update({name:"xiaoWang","interest":{$ne:"playGame"}},{$push:{interest:"Game"}}) // 如果小王的興趣里面沒(méi)有playgame, 我們就push一個(gè)game,如果有則不修改 // 總結(jié):沒(méi)有則修改,有則不修改。
addToSet升級(jí)版的$ne
// 我們現(xiàn)在要查看小王(xiaoWang)興趣(interest)中有沒(méi)有閱讀(readBook)這項(xiàng),沒(méi)有則加入讀書(readBook)的興趣. db.workmate.update({name:"xiaoWang"},{$addToSet:{interest:"readBook"}}) // 查找是否存在,不存在就push上去)
$each批量追加
var newInterset=["Sing","Dance","Code"]; // 如果我們想給小王的興趣中批量插入數(shù)據(jù) db.workmate.update({"name": "xiaowang"}, {interest: {$each: {newInterest}}}) // 正常時(shí)這么寫的,但是如果有重復(fù)的呢,那我們就得再借助于$addset了 db.workmate.update({"name": "xiaowang"}, {$addToSet: {interest: {$each: newInterest } } } )
$pop 刪除數(shù)組值
$pop只刪除一次,并不是刪除所有數(shù)組中的值。而且它有兩個(gè)選項(xiàng),一個(gè)是1和-1。 1:從數(shù)組末端進(jìn)行刪除 -1:從數(shù)組開(kāi)端進(jìn)行刪除 // 刪除 db.workmate.update({name:"xiaoWang"},{$pop:{interest:1}}) // 從末端刪除最后一個(gè)元素 // 刪除 db.workmate.update({name:"xiaoWang"},{$pop:{interest:-1}}) // 從開(kāi)始刪除第一個(gè)元素
數(shù)組定位修改
// db.workmate.update({"name":"xiaowang"}, {$set: {"interest.2" : "code"}}) // 將小王的興趣的第二項(xiàng)修改為code
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/19218.html
摘要:上一篇提到為我們提供的客戶端管理工具是,可以用它操作數(shù)據(jù)庫(kù),進(jìn)行增刪改查。對(duì)比刪除集合中的所有文檔保留集合刪除集合數(shù)據(jù)更新方法用于更新已存在的文檔參數(shù)說(shuō)明的查詢條件,類似查詢內(nèi)后面的??蛇x,拋出異常的級(jí)別。 上一篇提到:mongodb 為我們提供的客戶端管理工具是mongo,可以用它操作數(shù)據(jù)庫(kù),進(jìn)行增刪改查(CRUD)。現(xiàn)在我們?nèi)缟弦徽履菢?,啟?dòng)mongod,再啟動(dòng)mongo 不記得的...
摘要:學(xué)習(xí)筆記中文檔的增刪改本文所使用的版本為一插入文檔插入一個(gè)文檔語(yǔ)法向數(shù)據(jù)庫(kù)中的集合中插入一個(gè)文檔注字段是系統(tǒng)自動(dòng)生成的,也可以自己指定任何類型的字,但值不能重復(fù)??梢酝ㄟ^(guò)在執(zhí)行完每條命令之后執(zhí)行來(lái)檢查是否成功 MongoDB學(xué)習(xí)筆記(2)- Mongo Shell 中文檔的增、刪、改 本文所使用的MongoDB版本為 4.0.10 > db.version(); 4.0.10 一、插入...
摘要:是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)形式為鍵值對(duì)水平擴(kuò)展很容易常作為緩存數(shù)據(jù)庫(kù)來(lái)使用的存儲(chǔ)文檔稱之為類似對(duì)象字段值可以包含其他的文檔數(shù)組以及文檔數(shù)組和的概念解析概念的概念解釋說(shuō)明數(shù)據(jù)庫(kù)表集合行文檔列域表關(guān)聯(lián)主鍵手動(dòng)添加自動(dòng)創(chuàng)建一進(jìn)入數(shù)據(jù)庫(kù)的目錄輸入啟動(dòng) Mongodb 是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù) 存儲(chǔ)形式為鍵值對(duì) 水平擴(kuò)展很容易 常作為緩存數(shù)據(jù)庫(kù)來(lái)使用 Mongodb的存儲(chǔ)文檔稱之為 BSON...
摘要:前言本教程適合有一定數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)的人員閱讀??蛇x,默認(rèn)是只更新找到的第一條記錄,如果這個(gè)參數(shù)為就把按條件查出來(lái)多條記錄全部更新。向指定集合更新單個(gè)文檔向指定集合更新多個(gè)文檔例子教程文檔數(shù)據(jù)??蛇x,拋出異常的級(jí)別。 前言 本教程適合有一定數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)的人員閱讀。對(duì)于剛開(kāi)始接觸數(shù)據(jù)庫(kù)的童鞋,建議直接跳到本文的References中去選擇更適合的教程。還有一點(diǎn)需要注意的是,mongodb...
摘要:操作一導(dǎo)入二連接服務(wù)器端口號(hào)連接連接我們需要使用庫(kù)里面的,一般來(lái)說(shuō)傳入的及端口即可,第一個(gè)參數(shù)為地址,第二個(gè)參數(shù)為端口,端口如果不傳默認(rèn)是。 Python操作Mongodb 一 導(dǎo)入 pymongo from pymongo import MongoClient 二 連接服務(wù)器 端口號(hào) 27017 連接MongoDB 連接MongoDB我們需要使用PyMongo庫(kù)里面的Mongo...
閱讀 2181·2021-10-08 10:21
閱讀 2652·2021-09-29 09:34
閱讀 3567·2021-09-22 15:51
閱讀 5084·2021-09-22 15:46
閱讀 2368·2021-08-09 13:42
閱讀 3500·2019-08-30 15:52
閱讀 2793·2019-08-29 17:13
閱讀 1615·2019-08-29 11:30