国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MongoDB > 正文

MongoDB數據更新方法干貨篇

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

前言

數據更新是我們日常操作數據庫必不可少的一部分,下面這篇文章就給大家分享了操作MongoDB數據更新的一些干貨,對大家具有一定的參考學習價值,一起來學習學習吧。

常用的函數

  • update(<query>,<update>,<upsert>,<multi>) ,其中<query>表示篩選的條件,<update>是要更新的數據
  • updateMany() 更新所有匹配到的數據

upsert

upsert是一個布爾類型的數據,如果為true時,當根據query條件沒有找到匹配的數據時,就表示插入此條數據,如果為false就表示不插入數據

下面將會在一個空的集合中更新數據

//就會插入此條數據,因為沒有找到匹配的信息db.user.update({'name':'chenjiabing','age':22,'sex':"Man"},{$set:{'hobby':'read'}},{'upsert':true}); db.user.update({'name':'chenjiabing','age':22,'sex':"Man"},{$set:{'hobby':'read'}},true); //和上面的語句等價//輸出 db.user.find(){ "_id" : ObjectId("59067b70856d5893a687655f"), "age" : 22, "name" : "chenjiabing", "sex" : "Man", "hobby" : "read" }

multi

如果這個參數為true,就把按條件查出來多條記錄全部更新。默認為false,如果為true的話和updateMany()一樣的效果

下面將會更新所有匹配到的數據

db.user.update({name:'chenjiabing'},{$set:{'hobby':'code'}},{'multi':true});

字段更新操作符 Field Update Operators

$set

$set用來指定一個鍵的值。如果這個鍵不存在,則創建它。注意這里的更新默認是只更新第一條匹配到的數據,如果第一條匹配的數據已經滿足修改后的條件,那么將不會執行下面匹配的信息

下面我們將會添加一條信息在數據庫中

db.user.insert({"name":'jack',"age":22,"sex":'Man','school':{'name':'jsnu','city':'xuzhou'}});

運行下面的代碼,將該用戶的興趣設置為“讀書”并添加至文檔中(此時文檔中hobby鍵是不存在,該條文檔就會創建它)

db.user.update({name:'jack'},{$set:{'hobby':'read'}})

下面將會修改用戶的年齡

db.user.update({'name':'jack'},{$set:{'age':20}})

下面用$set修改數據類型,將sex設置為1

db.user.update({'name':'jack'},{$set:{'sex':1}})

下面用$set修改內嵌文檔,必須指定文檔的名字和鍵值

db.user.update({name:'jack'},{$set:{'school.name':'shida','school.city':'beijing'}})

$unset

從文檔中移除指定的鍵

下面將要刪除上面插入的hobby鍵

db.user.update({name:'jack'},{$unset:{'hobby':1}}) //這里的值是任意給的,隨便什么值

$inc

$inc修改器用來增加已有鍵的值,或者在鍵不存在時創建一個鍵$inc就是專門來增加(和減少)數字的。$inc只能用于整數、長整數或雙精度浮點數。要是用在其他類型的數據上就會導致操作失敗

例如

主站蜘蛛池模板: 五寨县| 福建省| 乐安县| 苏尼特右旗| 三门峡市| 武城县| 广州市| 社旗县| 桦南县| 山丹县| 定南县| 松潘县| 九江市| 长乐市| 门源| 仙居县| 宿州市| 襄城县| 全南县| 登封市| 香河县| 太白县| 无锡市| 安康市| 独山县| 遵化市| 南雄市| 竹山县| 长沙县| 阿坝县| 秭归县| 锡林郭勒盟| 涞源县| 抚松县| 台北市| 南溪县| 云霄县| 漾濞| 辉县市| 偃师市| 鹰潭市|