MongoDB 刪除文檔的方式(刪除一個(gè)、批量刪除)
MongoDB 刪除文檔(刪除一個(gè)、批量刪除)
MongoDB中提供了三種刪除文檔的方式,如下:
刪除一個(gè)文檔:db.collection.deleteOne(filter, options)
刪除多個(gè)文檔:db.collection.deleteMany(filter, options)
刪除文檔:db.collection.remove(filter, options)
下面我們對(duì)三種方式分別進(jìn)行介紹:
一、刪除一個(gè)文檔
語法:db.collection.deleteOne(filter, options)
如果有多個(gè)匹配的文檔,也只會(huì)刪除一個(gè)文檔。
例子:
查詢所有的文檔:
{ "_id" : "1001", "name" : "張三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") } { "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] } { "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] } { "_id" : "1004", "commet" : "我的內(nèi)容被替換了" } { "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }
下面我們刪除fruits中包含apple的文檔:
db.test.deleteOne({ "fruits": "apple" })
執(zhí)行后我們再查詢所有的文檔:
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] } { "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] } { "_id" : "1004", "commet" : "我的內(nèi)容被替換了" } { "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }
發(fā)現(xiàn)只有包含apple的文檔中,只有一個(gè)文檔被刪除了。
二、刪除多個(gè)文檔
語法:db.collection.deleteMany(filter, options)
刪除所有匹配的文檔
例子:
下面我們刪除fruits中包含apple的文檔:
db.test.deleteMany({ "fruits": "apple" })
執(zhí)行后我們再查詢所有的文檔:
{ "_id" : "1004", "commet" : "我的內(nèi)容被替換了" } { "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }
發(fā)現(xiàn)包含apple的文檔全部都被刪除了。
三、刪除文檔
語法:db.collection.remove(filter, options)
options 中提供了一個(gè) justOne 參數(shù)用于控制刪除一個(gè)匹配的文檔還是刪除所有匹配的文檔。
justOne 默認(rèn)值為false,會(huì)刪除所有匹配的文檔
設(shè)置成true, 會(huì)刪除匹配的一個(gè)文檔。
例子:
我們嘗試刪除所有的文檔:
db.test.remove({ })
執(zhí)行后我們再查詢所有的文檔,會(huì)發(fā)現(xiàn)文檔不存在,說明了 justOne 的默認(rèn)值為false.
我們再插入兩條數(shù)據(jù):
db.test.insertMany( [ { "id": "1002", "name": "李四", "age": 22 }, { "id": "1003", "name": "王五", "age": 25 } ] );
我們再嘗試刪除所有的文檔,不過這次加上justOne: true的參數(shù):
db.test.remove({ }, { "justOne": true })
執(zhí)行后我們再查詢所有的文檔:
{ "_id" : ObjectId("642f85506ca9e7fe3a3ff6f7"), "id" : "1003", "name" : "王五", "age" : 25 }
從上面的文檔結(jié)果來看,justOne: true 參數(shù)下只會(huì)刪除一條匹配的文檔。
到此這篇關(guān)于MongoDB 刪除文檔(刪除一個(gè)、批量刪除)的文章就介紹到這了,更多相關(guān)MongoDB 刪除文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MongoDB.NET 2.2.4驅(qū)動(dòng)版本對(duì)Mongodb3.3數(shù)據(jù)庫中GridFS增刪改查
這篇文章主要為大家詳細(xì)介紹了使用MongoDB.NET 2.2.4驅(qū)動(dòng)版本對(duì)Mongodb3.3數(shù)據(jù)庫中GridFS增刪改查,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11基于MongoDB實(shí)現(xiàn)聊天記錄的存儲(chǔ)問題小結(jié)
MongoDB是一個(gè)高性能、易部署、易使用的數(shù)據(jù)庫系統(tǒng),具有豐富的功能和特點(diǎn),適用于各種規(guī)模的應(yīng)用程序和場景,這篇文章給大家介紹基于MongoDB實(shí)現(xiàn)聊天記錄的存儲(chǔ)問題,感興趣的朋友一起看看吧2024-02-02MongoDB對(duì)Document(文檔)的插入、刪除及更新
這篇文章介紹了MongoDB對(duì)Document(文檔)的插入、刪除及更新,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07mongodb錯(cuò)誤tcmalloc: large alloc out of memory, printing stack
這篇文章主要介紹了mongodb錯(cuò)誤tcmalloc: large alloc out of memory, printing stack and exiting解決辦法,需要的朋友可以參考下2014-06-06vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法
這篇文章主要介紹了vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08MongoDB在Linux系統(tǒng)中的安裝與配置指南
在這篇文章中,我們將介紹如何在CentOS 7服務(wù)器上安裝MongoDB,并通過DataX將數(shù)據(jù)從MongoDB遷移到MySQL數(shù)據(jù)庫,這將包括MongoDB的安裝、配置、數(shù)據(jù)準(zhǔn)備以及使用DataX進(jìn)行數(shù)據(jù)遷移的詳細(xì)步驟2024-09-09