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