What is the best way to drop a collection in MongoDB?
I am using the following:
db.collection.drop() As described in the manual:
db.collection.drop()
Removes a collection from the database. The method also removes any indexes associated with the dropped collection. The method provides a wrapper around the drop command.
But how can I drop it from the command line?
Delete a collectionAt the bottom, tap Collections. Tap a collection. Delete collection. Check the box, then tap Delete.
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 drop command removes the specified collection or view from the federated database instance storage configuration. Use the wildcard "*" to remove all collections generated by the wildcard collection function (that is, collectionName() ), including the wildcard collection rule itself.
In MongoDB, db. collection. drop() method is used to drop a collection from a database. It completely removes a collection from the database and does not leave any indexes associated with the dropped collections.
So either of these are valid ways to do it:
mongo <dbname> --eval 'db.<collection>.drop()' # ^^^^^^^^ ^^^^^^^^^^^^ db.<collection>.drop() # ^^^^^^^^^^^^ For example, for a collection mycollection in a database mydb you would say:
mongo mydb --eval 'db.mycollection.drop()' db.mycollection.drop() This is the way I fully tested it, creating a database mydb with a collection hello.
Create db mydb:
> use mydb switched to db mydb Create a collection mycollection:
> db.createCollection("mycollection") { "ok" : 1 } Show all the collections there:
> db.getCollectionNames() [ "mycollection", "system.indexes" ] Insert some dummy data:
> db.mycollection.insert({'a':'b'}) WriteResult({ "nInserted" : 1 }) Make sure it was inserted:
> db.mycollection.find() { "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" } Delete the collection and make sure it is not present any more:
> db.mycollection.drop() true > db.getCollectionNames() [ "system.indexes" ] This also works (I am not repeating the previous commands, since it is just about recreating the database and the collection):
$ mongo mydb --eval 'db.mycollection.drop()' MongoDB shell version: 2.6.10 connecting to: mydb true $
To drop a collection users of database mydb:
> use mydb > db.users.drop()
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