在本章中,我们将学习如何使用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() >