Skip to main content

Delete operation

The delete operation removes a document from the database when a given query is met. Two methods for deleting documents in a collection include deleteOne() and deleteMany().

Delete a single document

The deleteOne() method removes a single document (the first document that matches the query parameter) completely from the collection.

db.collection.deleteOne({<query_params>})

Insert the following list of documents:

db.scientists.insertMany([
{
firstname: "Thomas",
lastname: "Edison",
born: 1847,
invention: "LightBulb",
nobel: true
},
{
firstname: "Graham",
lastname: "Bell",
born: 1847,
invention: "telephone",
nobel: false
},
{
firstname: "Nikola",
lastname: "Tesla",
born: 1856,
invention: "Tesla coil",
nobel: false
},
{
firstname: "Ada",
lastname: "Lovelace",
born: 1815,
invention: "Computer programming",
nobel: false
}
])

This operation returns a response showing acknowledged as true and the ObjectId of the four inserted documents:

{
acknowledged: true,
insertedIds: {
'0': ObjectId("63470121d7a4a1b0b38eb2df"),
'1': ObjectId("63470121d7a4a1b0b38eb2e0"),
'2': ObjectId("63470121d7a4a1b0b38eb2e1"),
'3': ObjectId("63470121d7a4a1b0b38eb2e2")
}
}

Next, delete a document from the collection where the field nobel is set to false.

db.scientists.deleteOne({nobel:false})

This operation returns a response that shows that a single document was deleted from the collection.

{ acknowledged: true, deletedCount: 1 }

Deletes multiple documents

To delete multiple documents at once, use the deleteMany() method. Using the same record from earlier, let's delete all the documents with nobel set to false.

db.scientists.deleteMany({nobel:false})

This command removes all the documents in the collection that matches the query.