国产探花免费观看_亚洲丰满少妇自慰呻吟_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只能用于整數、長整數或雙精度浮點數。要是用在其他類型的數據上就會導致操作失敗

例如

主站蜘蛛池模板: 依兰县| 平凉市| 顺昌县| 南江县| 宁陕县| 巴中市| 凭祥市| 余干县| 定远县| 大荔县| 洞口县| 卓尼县| 保康县| 玛纳斯县| 宁陵县| 阿鲁科尔沁旗| 和顺县| 西畴县| 友谊县| 安多县| 山丹县| 辉县市| 漠河县| 三江| 兰西县| 兴海县| 镇巴县| 连城县| 民和| 尚义县| 湖北省| 沁水县| 石嘴山市| 随州市| 裕民县| 南涧| 黄陵县| 望江县| 景宁| 鸡西市| 绵竹市|