Mongodb使用$pop刪除數(shù)組中元素的操作指南
定義
$pop操作符刪除數(shù)組當中的第一個元素或最后一個元素。向指定數(shù)組字段傳入?yún)?shù)-1,表示刪除第一個元素。而向指定數(shù)組字段傳入?yún)?shù)1,表示刪除最后一個元素。
按照下面的形式,使用$pop操作符
{$pop: {<field>: -1|1, ...}}當刪除嵌套文檔或數(shù)組中數(shù)組元素時,使用點操作符。
行為
- 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當字段中包含數(shù)字時,按照數(shù)字順序依次更新字段。當然,對一個文檔的多個字段操作,是原子性的。
- mongodb 5.0版本以后,向$pop傳入空表達式({ })時,mongodb不再拋出錯誤。空表達式不會修改字段值 ,也不會在oplog中,添加新的操作記錄。
- 針對非數(shù)組字段使用$pop時,數(shù)據(jù)更新操作會報錯。
- 當使用$pop操作刪除數(shù)組中的最后一個元素時,數(shù)組并不會被刪除,而是保留一個空數(shù)組。
應用
刪除數(shù)組中的第一個元素
創(chuàng)建students集合
db.students.insertOne({_id: 1, scores:[8,9,10]})構(gòu)建數(shù)據(jù)更新語句,刪除字段scores中的第一個元素8
db.students.updateOne({_id: 1}, {$pop: {scores: -1}})查詢更新結(jié)果

刪除數(shù)組當中的最后一個元素
向集合中插入數(shù)據(jù)。其中scores是數(shù)組字段,包含兩個元素。
db.students.insert({_id: 10, scores:[9, 10]})構(gòu)建查詢語句,刪除scores數(shù)組字段的最后一個元素10
db.students.updateOne({_id: 10}, {$pop: {scores: 1}})查詢數(shù)據(jù)更新結(jié)果

到此這篇關于Mongodb使用$pop刪除數(shù)組中元素的操作指南的文章就介紹到這了,更多相關Mongodb $pop刪除元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MongoDB??數(shù)據(jù)模型的設計模式及優(yōu)缺點
這篇文章主要介紹了MongoDB??數(shù)據(jù)模型的設計模式,在實際開發(fā)中,大多數(shù)性能問題都可以追溯到糟糕的模型設計,官方也提供分享過文檔模型設計的進階技巧,這里簡單翻譯記錄一下,需要的朋友可以參考下2022-12-12
MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda
這篇文章主要介紹了MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda的相關資料,需要的朋友可以參考下2017-09-09
Windows或Linux系統(tǒng)中備份和恢復MongoDB數(shù)據(jù)的教程
不得不說MongoDB的備份回復操作對比其他數(shù)據(jù)庫來說真的算得上是簡便的,無論是在Windows的命令行中或者是Linux里的腳本執(zhí)行,這里我們就來看一下Windows或Linux系統(tǒng)中備份和恢復MongoDB數(shù)據(jù)的教程2016-06-06
分布式文檔存儲數(shù)據(jù)庫之MongoDB備份與恢復的實踐詳解
這篇文章主要介紹了分布式文檔存儲數(shù)據(jù)庫之MongoDB備份與恢復,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11

