Database
NoSQL
MongoDB
CRUD Operations
Delete Document

MongoDB - Delete Document

Introduction

Deleting documents is a crucial operation in MongoDB for managing and maintaining the data in your collections. MongoDB offers different methods for removing documents based on specific criteria. Understanding how to effectively use these methods can help ensure your data is accurate and up-to-date.

The remove() Method

The remove() method was traditionally used to delete documents from a MongoDB collection. Although this method is now deprecated in favor of more specific methods, it’s important to understand its functionality for managing legacy code.

Deletion Criteria

When using the remove() method, you specify criteria to identify which documents to delete. These criteria are defined using a query object that determines the documents to be removed.

justOne Option

The justOne option was used with the remove() method to specify whether only the first matching document should be removed or all documents that match the criteria. By default, remove() deletes all documents matching the criteria unless justOne is set to true.

db.collection_name.remove(
   { "field": "value" },
   { justOne: true }
)

Remove Only One

To delete a single document, you can use the remove() method with the justOne option. This option ensures that only one document matching the filter criteria will be deleted, even if multiple documents match the criteria.

db.collection_name.remove(
   { "state": "Maharashtra" },
   { justOne: true }
)

Remove All Documents

To delete all documents that match the specified criteria, the remove() method can be used without the justOne option. This will ensure that every document matching the criteria is removed from the collection.

db.collection_name.remove(
   { "country": "India" }
)

Alternatives to remove()

deleteOne()

The deleteOne() method is used to remove a single document that matches a specified filter. This method is a direct replacement for remove() when only one document needs to be deleted.

db.collection_name.deleteOne(
   { "name": "Old City" }
)

deleteMany()

The deleteMany() method is used to remove multiple documents that match a given filter. It is the preferred alternative to remove() when you want to delete all documents that meet the criteria.

db.collection_name.deleteMany(
   { "country": "India" }
)

Conclusion

MongoDB offers various methods for document deletion, each suited to different scenarios. While the remove() method was once standard, it has been deprecated in favor of deleteOne() and deleteMany(). Familiarity with these methods ensures efficient data management and cleanup in MongoDB.