In this post, we will learn how to delete a document using MongoDB.
Delete Methods
MongoDB provides the following methods to delete documents of a collection:
- db.collection.deleteOne() - Delete at most a single document that match a specified filter even though multiple documents may match the specified filter.
- db.collection.deleteMany() - Delete all documents that match a specified filter.
- db.collection.remove() - Delete a single document or all documents that match a specified filter.
The examples on this page use the posts collection. To populate the posts collection, run the following:
db.posts.insertMany([
{
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'Java Guides',
url: 'https://javaguides.net',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
},
{
title: 'NoSQL Database',
description: "NoSQL database doesn't have tables",
by: 'Java Guides',
url: 'https://javaguides.net',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 20,
comments: [
{
user:'user1',
message: 'My first comment',
dateCreated: new Date(2013,11,10,2,35),
like: 0
}
]
}
]);
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5e18246f7695f4d696a05985"),
ObjectId("5e18246f7695f4d696a05986")
]
}
Delete All Documents
To delete all documents from a collection, pass an empty filter document {} to the db.collection.deleteMany() method.
The following example deletes all documents from the inventory collection:
db.posts.deleteMany({})
The method returns a document with the status of the operation.
Delete Only One Document that Matches a Condition
To delete at most a single document that matches a specified filter (even though multiple documents may match the specified filter) use the db.collection.deleteOne() method.
The following example deletes the first document where the title is "MongoDB Overview":
db.posts.deleteOne( { title: "MongoDB Overview" } )
Delete All Documents that Match a Condition
You can specify criteria, or filters, that identify the documents to delete. The filters use the same syntax as read operations.
To specify equality conditions, use : 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 deletion criteria, pass a filter parameter to the deleteMany() method.
The following example removes all documents from the inventory collection where the status field equals "A":
db.inventory.deleteMany({ by : "Java Guides" })
The method returns a document with the status of the operation.
Summary
The below diagram shows the summary of all the commands used in this post:
Comments
Post a Comment
Leave Comment