- MongoDB CRUD Operations >
- Delete Documents
Delete Documents¶
This page provides examples of delete operations in the
mongo shell.
The examples on this page use the inventory collection. To create
and/or populate the inventory collection, run the following in the
mongo shell:
db.inventory.insertMany( [
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
]);
You can run the operation in the web shell below:
Delete All Documents¶
To remove all documents from a collection, pass an empty filter document {} to the
db.collection.deleteMany() method.
db.collection.deleteMany()¶
The following example uses the db.collection.deleteMany()
method to delete all documents from the inventory collection:
db.inventory.deleteMany({})
The method returns a document with the status of the operation. For
more information and examples, see db.collection.deleteMany().
Delete All Documents that Match a Condition¶
You can specify criteria, or filters, that identify the documents to delete. These filters use the same syntax as read operations:
To specify equality conditions, use
<field>:<value>expressions in the query filter document:{ <field1>: <value1>, ... }
A query filter document can use the query operators to specify conditions in the following form:
{ <field1>: { <operator1>: <value1> }, ... }
To delete all documents that match a deletion criteria, pass a
filter parameter to the
db.collection.deleteMany() method.
db.collection.deleteMany()¶
The following example uses db.collection.deleteMany() to
remove all documents from the inventory collection where the status
field equals "A":
db.inventory.deleteMany({ status : "A" })
The method returns a document with the status of the operation.
Remove Only One Document that Matches a Condition¶
To delete at most a single document that match a specified filter,even
though multiple documents may match the specified filter, use the
db.collection.deleteOne() method.
db.collection.deleteOne()¶
The following example uses db.collection.deleteOne() to
delete the first document where status is "D".
db.inventory.deleteOne( { status: "D" } )
Delete Behavior¶
Indexes¶
Delete operations do not drop indexes, even if deleting all documents from a collection.
Atomicity¶
All write operations in MongoDB are atomic on the level of a single document. For more information on MongoDB and atomicity, see Atomicity and Transactions.
Write Acknowledgement¶
With write concerns, you can specify the level of acknowledgement requested from MongoDB for write operations. For details, see Write Concern.