You actually can't bulk delete in MongoDB Atlas. See MongoDB Atlas info on the filter section AKA Data Explorer. However you can run standard queries, like find, remove once you connect to the database using your Atlas credentials.
MongoDB's remove() method is used to remove a document from the collection. remove() method accepts two parameters. One is deletion criteria and second is justOne flag. deletion criteria − (Optional) deletion criteria according to documents will be removed.
The argument to remove()
is a filter document, so passing in an empty document means 'remove all':
db.user.remove({})
However, if you definitely want to remove everything you might be better off dropping the collection. Though that probably depends on whether you have user defined indexes on the collection i.e. whether the cost of preparing the collection after dropping it outweighs the longer duration of the remove()
call vs the drop()
call.
More details in the docs.
You can delete all the documents from a collection in MongoDB, you can use the following:
db.users.remove({})
Alternatively, you could use the following method as well:
db.users.deleteMany({})
Follow the following MongoDB documentation, for further details.
To remove all documents from a collection, pass an empty filter document
{}
to either thedb.collection.deleteMany()
or thedb.collection.remove()
method.
db.users.count()
db.users.remove({})
db.users.count()
Delete all documents from a collection in cmd:
cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
This example is made for MongoDB 4.2
Here is the command to delete all the records of a collection in the MongoDB shell or MongoDB Compass shell (_MongoSH).
show dbs -> to list all the database
use test-database -> to select the database
db.getCollection('orders').deleteMany({}) -> to select the collection and deletes all the data.
Or
show dbs -> to list all the database
use test-database -> to select the database
db.orders.remove({}) -> to select the collection and deletes all the data.
To remove all the documents in all the collections:
db.getCollectionNames().forEach( function(collection_name) {
if (collection_name.indexOf("system.") == -1) {
print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
db[collection_name].remove({});
}
});
Use the deleteMany
function (docs):
Assuming your collection named users
:
db.users.deleteMany({})
deleteMany
takes a filter as argument, and passing the empty document {}
as the filter is equivalent to asking that all members of the collection be deleted.
Note that remove
should still work, but you'll need to pass the same empty document:
db.users.remove({})
However, remove
has been deprecated, and if your mongo install is up to date, using remove
should lead to a deprecation warning indicating that you should instead use one of the preferred methods. From 1.0.7:
DeprecationWarning: Collection.remove() is deprecated. Use deleteOne, deleteMany, findOneAndDelete, or bulkWrite.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With