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