好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MongoDB如何更新多級文檔的數據

MongoDB如何更新多級文檔的數據

熱門標簽:外呼線路資源屬于電信業務嗎 crm外呼系統聯系方式 智能外呼系統官網 內蒙古營銷智能外呼系統哪個好 青白江400企業電話申請 長沙電銷外呼防封卡是什么 呼和浩特外呼系統原理是什么 小裙科技電銷機器人怎樣 河南電話外呼系統招商

嵌套數組更新

以下面的數據(數據集名稱為author)為例:

{name: '島上碼農', documents: ['Flutter入門與實戰', '高性能MySQL', 'MongoDB專業指北']}

我們需要將 MongoDB專業指北改成MongoDB不專業指北,就屬于修改嵌套的文檔數據了。這個時候需要使用到 MongoDB 提供的定位操作符$。定位操作符即表示將對應條件匹配到的數據,如:

db.author.update(
  {name: '島上碼農', documents: 'MongoDB專業指北'}, 
  {'$set': {'documents.$': 'MongoDB不專業指北'}}
);

對于下級節點為數組的也是一樣。

{
  name: '島上碼農', 
  documents: [
    {name: 'Flutter入門與實戰', score: 80}, 
    {name: '高性能MySQL', score: 90}, 
    {name: 'MongoDB專業指北', score: 85}
  ]
}

需要將 documengs 節點的 name 和 score 進行修改。

db.author.update(
  {name: '島上碼農', 'documents.name': 'MongoDB專業指北'},
  {'$set': {
    	'documents.$.name': 'MongoDB不專業指北', 
    	'documents.$.score':88}
  }
);

$定位操作符即在查詢條件中找到的數組中的數據元素位置,即表示操作的是該位置的數據。

更新下級文檔的屬性

更新下級文檔屬性時可以直接使用屬性訪問符“.”,例如下面需要更新 praise 增加到291。

{
  name: '島上碼農', 
  scores: {
    view:  18800, 
    praise: 290, 
    followers: 105
	}
}
db.author.update(
  {name: '島上碼農'}, 
  {'$set': {'scores.praise': 291}}
);

下級文檔若還存在嵌套數組也是類似的操作,如下面的數據,需要將“公眾號”換成“微信公眾號”:

{
  name: '島上碼農', 
  scores: {
    view:  18800, 
    praise: 290, 
    followers: 105,
    platform: ['掘金', '公眾號']
	}
}
db.author.update(
  {'name': '島上碼農', 'scores.platform': '公眾號'},
  {'$set': {'scores.platform.$':'微信公眾號'}}
);

屬性增加和移除

MongoDB提供了 $push 和 $pull操作指令來增加或移除屬性,同時還提供了 $pop 來移除數組的第一個或最后一個值。我們給前一個文檔增加一個 homepage 屬性。

db.author.update(
  {name: '島上碼農'}, 
  {$push: {homepage: 'https://juejin.cn/user/70787819648695'}}
);

注意的是,此時插入的是一個名為 homepage 的數組,其中的一個元素是:juejin.cn/user/707878…。如果是增加不是數組的屬性,使用$set 指令即可。 可以使用 pull 移除掉匹配的一個屬性。

db.author.update(
  {name: '島上碼農'}, 
  {$pull: {homepage: 'https://juejin.cn/user/70787819648695'}}
);

$pop 操作時使用數字-1和1表示移除首尾的元素,對于下面的數據,移除數組platform里的數據。

{
  name: '島上碼農',
	scores : {
		view: 18800,
		praise: 290,
		followers: 105,
		platform: ['掘金', '公眾號', '其他1', '其他2']
	}
}
// 移除第一個元素
db.author.update({name: '島上碼農'}, {$pop: {'scores.platform': -1}});
// 移除最后一個元素
db.author.update({name: '島上碼農'}, {$pop: {'scores.platform': 1}});

總結

本篇介紹了 MongoDB 的嵌套屬性更新操作,主要是定位操作符$的使用。通過定位符可以定位我們需要修改的數據位置,進而進行更新操作。以及屬性的添加和移除,通過$push、$pull和$pop指令即可完成響應的操作。

以上就是MongoDB如何更新多級文檔的數據的詳細內容,更多關于MongoDB 更新多級文檔的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 分布式文檔存儲數據庫之MongoDB訪問控制的操作方法
  • 分布式文檔存儲數據庫之MongoDB備份與恢復的實踐詳解
  • 分布式文檔存儲數據庫之MongoDB分片集群的問題
  • SpringDataMongoDB多文檔事務的實現
  • mongodb如何對文檔內數組進行過濾的方法步驟
  • MongoDB中文檔的更新操作示例詳解
  • MongoDB數據庫文檔操作方法(必看篇)
  • mongodb 數據類型(null/字符串/數字/日期/內嵌文檔/數組等)
  • PHP庫 查詢Mongodb中的文檔ID的方法

標簽:黃石 舟山 安順 呼倫貝爾 白山 楚雄 菏澤 池州

巨人網絡通訊聲明:本文標題《MongoDB如何更新多級文檔的數據》,本文關鍵詞  MongoDB,如何,更新,多級,文檔,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB如何更新多級文檔的數據》相關的同類信息!
  • 本頁收集關于MongoDB如何更新多級文檔的數據的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 黄色一级片观看| 99国精产品自偷自偷综合| 大香煮蕉伊区一二三四区| 国产天堂亚洲精品| 樱桃红电影在线观看高清| 午夜爽爽男女免费观看hd| 91久久精品一二三Av| 野战好大好紧好爽视频| а√天堂资源8在线官网在线| 少妇被猛烈挺进爽爽A片漫画视频| 大众女浴池裸体看个够| 好大好爽好猛我要喷水了视频| 精品免费在线视频| 欧美 日韩 人妻 高清 中文| 精品粉嫩小BBwBBwBBw| 色网站在线免费观看| 99在线视频观看| 国产自产亚洲精品国产| 久久97精品国产综合色AV网站| 污视频app有哪些| 久久综合图区亚洲综合图区| 亚洲精品欧美综合二区国产乱人| 自拍 亚洲 综合 另类小说| 高清日本片免费观看| 浪荡超短裙长腿教师h| 粗大猛烈进出呻吟声的视频| 久久久夜色精品亚洲AV软件| A片国产欧美精品丝袜| 日本成片免费高清| 美女诱惑网站| 久99热| 欧美又粗又大色情一二区电影 | 色偷偷女男人的天堂亚洲网| 风间由美bd456高清在线| 梁朝伟把汤唯的奶摸硬了| 国产精品一线二线三线有什么区别| 欧美国产精品| 色戒在线观看电影| 国产AV精品无码一区二区| 爱干tv| 我的兔子好软好多水|