How to drop or delete a collection in MongoDB?

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?

0

3 Answers

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 $ 
1

To drop a collection users of database mydb:

> use mydb > db.users.drop() 
--eval "db.getCollection('collection').drop()" 
6

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like