How to drop or delete a collection in MongoDB?

98,142

Solution 1

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
$

Solution 2

To drop a collection users of database mydb:

> use mydb
> db.users.drop()
Share:
98,142
fedorqui
Author by

fedorqui

My current picture: Love democracy depicts the aim for the freedom and the condemn for having political prisoners in Catalonia. I used to be very active in this site, but what happened in the end of 2019 made me lose the confidence in Stack Exchange as a company. I still use the site, but also Codidact and others. All in all, we all want to create and share resources to help others. You can contact me at: &lt;my name&gt;[email protected], where &lt;my name&gt; is "fedorqui". Also, feel free to suggest improvements to my posts by either commenting or editing them.

Updated on July 08, 2022

Comments

  • fedorqui
    fedorqui almost 2 years

    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?