MongoDB中UPDATE操作$pullAll的方法
學習mongodb,體會mongodb的每一個使用細節(jié),歡迎閱讀威贊的文章。這是威贊發(fā)布的第70篇mongodb技術文章,歡迎瀏覽本專欄威贊發(fā)布的其他文章。如果您認為我的文章對您有幫助或者解決您的問題,歡迎在文章下面點個贊,或者關注威贊。謝謝。
本篇文章是Mongodb的第70篇文章了。回頭想想當時寫第一篇文章的場景,為自己設定了一個宏大的目標,自己要寫100篇,寫200篇,把Mongodb官網(wǎng)上所有的知識點都按照自己的理解寫出來。其實中間有很多事情耽誤了進度,或工作忙,或家庭事務繁忙,或有其他的想法志向。但在有時間的時候,依舊會打開官方文檔,打開編輯器,開始寫文檔。力爭每個文檔描述一個知識點,把知識點都使用中文描述清楚。里面的每一個應用例子都自己測試過,理解后再寫到文檔當中。雖然進度會比較緩慢,但保證了自己學習整理的同事,也將知識點清晰的呈現(xiàn)在每一個閱讀文檔的朋友。平時有跑步的習慣,也跑過2次馬拉松。寫作就和跑步一樣,平時有積累,后面才可以持續(xù)性的輸出。寫作當中遇到的一些問題,瓶頸,就和跑步訓練當中遇到的傷病,瓶頸,或者馬拉松跑道上的撞墻一樣,努力堅持,總可以到達終點。工作這么多年,一直在看書學習,除了工作內(nèi)容以外,寫文檔的經(jīng)歷確實比較少。現(xiàn)在趁著Mongodb知識點整理的機會,把編寫文檔的技能提高起來,同時讓自己真正的開始積累起來?,F(xiàn)在這里是第70篇,距離100篇已經(jīng)不遠,期待后面的200篇,300篇。。。持續(xù)寫作,持續(xù)積累,加油?。?!
言歸正傳 ,本文介紹Mongodb UPDATE操作中的$pullAll, 用來從數(shù)組中刪除多個元素。
定義
與$pull有所不同,$pull操作通過指定一個查詢條件或單個值來刪除數(shù)組中的元素。 而$pullAll刪除所有在指定列表中的數(shù)組元素。按照UPDATE操作中按照下面的形式,使用$pullAll.
{$pullAll: {<field1>: [<value1>, <value2>,...]}}
刪除嵌套文檔或數(shù)組中的元素,使用點操作符。
行為
- 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當字段中包含數(shù)字時,按照數(shù)字順序依次更新字段。當然,對一個文檔的多個字段操作,是原子性的。
- mongodb 5.0版本以后,向$pullAll傳入空表達式({ })時,mongodb不再拋出錯誤??毡磉_式不會修改字段值 ,也不會在oplog中,添加新的操作記錄。
- 當用戶指定刪除文檔或數(shù)組時,$pullAll操作僅刪除掉和指定文檔數(shù)組嚴格相等的元素,包括數(shù)組元素的順序。
應用
創(chuàng)建survey集合
db.survey.insertOne({ _id:1, scores: [0,2,5,5,1,0] })
構建數(shù)據(jù)更新語句,刪除scores字段中的0和5
db.survey.updateOne({_id:1},{$pullAll:{ scores: [0,5]}})
查詢更新結果
db.survey.find()
{
"_id": 1,
"scores": [
2,
1
]
}
到此這篇關于MongoDB中UPDATE操作$pullAll的文章就介紹到這了,更多相關MongoDB操作$pullAll內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MongoDB如何正確中斷正在創(chuàng)建的索引詳解
這篇文章主要給大家介紹了關于MongoDB如何正確中斷正在創(chuàng)建的索引的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12大數(shù)據(jù)環(huán)境下mongoDB為何要加索引淺析
這篇文章主要給大家介紹了關于大數(shù)據(jù)環(huán)境下mongoDB為何要加索引的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mongoDB具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05使用Mongodb實現(xiàn)打卡簽到系統(tǒng)的實例代碼
這篇文章主要介紹了使用Mongodb實現(xiàn)打卡簽到系統(tǒng)的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05MongoDB中自動增長ID詳解(實現(xiàn)、應用及優(yōu)化)
在MongoDB中,自動增長的功能主要通過使用數(shù)據(jù)庫的ObjectId或自定義的序列來實現(xiàn),ObjectId是MongoDB默認的主鍵類型,它是唯一的并且具有一定的排序特性,本文給大家介紹了MongoDB中自動增長ID,需要的朋友可以參考下2024-06-06使用centos系統(tǒng)中的crontab命令對mongodb定時備份恢復
編寫centos腳本使用crontab命令對mongodb定時執(zhí)行備份與恢復操作,并刪除指定天數(shù)前的備份2018-03-03MongoDB聚合分組取第一條記錄的案例與實現(xiàn)方法
這篇文章主要給大家介紹了關于MongoDB聚合分組取第一條記錄的案例與實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01