在本章中,我們將學(xué)習(xí)如何使用MongoDB刪除文檔。
MongoDB的remove()方法用于從集合中刪除文檔。remove()方法接受兩個(gè)參數(shù)。第一個(gè)是刪除條件 query,第二個(gè)是justOne標(biāo)志。
query ?(可選)刪除的文檔的條件。
justOne ?(可選)如果設(shè)置為true或1,則僅刪除一個(gè)文檔。
remove()方法的基本語法如下-
db.collection.remove( <query>, <justOne> )
如果你的 MongoDB 是 2.6 版本以后的,語法格式如下:
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
參數(shù)說明:
query :(可選)刪除的文檔的條件。
justOne : (可選)如果設(shè)為 true 或 1,則只刪除一個(gè)文檔,如果不設(shè)置該參數(shù),或使用默認(rèn)值 false,則刪除所有匹配條件的文檔。
writeConcern :(可選)拋出異常的級(jí)別。
假設(shè)到mycol集合具有以下數(shù)據(jù)。
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"}, {_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"}, {_id : ObjectId("507f191e810c19729de860e3"), title: "NHOOO Overview"}
以下示例將刪除標(biāo)題為“ MongoDB概述”的所有文檔。
>db.mycol.remove({'title':'MongoDB Overview'}) WriteResult({"nRemoved" : 1}) > db.mycol.find() {"_id" : ObjectId("507f191e810c19729de860e2"), "title" : "NoSQL Overview" } {"_id" : ObjectId("507f191e810c19729de860e3"), "title" : "NHOOO Overview" }
如果有多個(gè)記錄,而您只想刪除第一個(gè)記錄,則justOne在remove()method中設(shè)置參數(shù)。
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
如果您未指定刪除條件,則MongoDB將從集合中刪除整個(gè)文檔。這等效于SQL的truncate命令。
> db.mycol.remove({}) WriteResult({ "nRemoved" : 2 }) > db.mycol.find() >