Navigation
This is an upcoming (i.e. in progress) version of the manual.

db.collection.dropIndex()

On this page

Definition

db.collection.dropIndex(index)

Drops or removes the specified index from a collection. The db.collection.dropIndex() method provides a wrapper around the dropIndexes command.

Note

The db.collection.dropIndex() method takes the following parameter:

Parameter Type Description
index string or document

Optional. Specifies the index to drop. You can specify the index either by the index name or by the index specification document.

To drop a text index, specify the index name.

Starting in MongoDB 4.2, you cannot specify "*" to drop all non-_id indexes. Use db.collection.dropIndexes() instead.

To get the index name or the index specification document for the db.collection.dropIndex() method, use the db.collection.getIndexes() method.

Warning

This command obtains a write lock on the affected database and will block other operations until it has completed.

Behavior

Starting in MongoDB 4.2, the dropIndex() operation only kills queries that are using the index being dropped. This may include queries considering the index as part of query planning.

Prior to MongoDB 4.2, dropping an index on a collection would kill all open queries on the collection.

Example

Consider a pets collection. Calling the getIndexes() method on the pets collection returns the following indexes:

[
   {  "v" : 1,
      "key" : { "_id" : 1 },
      "ns" : "test.pets",
      "name" : "_id_"
   },
   {
      "v" : 1,
      "key" : { "cat" : -1 },
      "ns" : "test.pets",
      "name" : "catIdx"
   },
   {
      "v" : 1,
      "key" : { "cat" : 1, "dog" : -1 },
      "ns" : "test.pets",
      "name" : "cat_1_dog_-1"
   }
]

The single field index on the field cat has the user-specified name of catIdx [1] and the index specification document of { "cat" : -1 }.

To drop the index catIdx, you can use either the index name:

db.pets.dropIndex( "catIdx" )

Or you can use the index specification document { "cat" : -1 }:

db.pets.dropIndex( { "cat" : -1 } )
[1]During index creation, if the user does not specify an index name, the system generates the name by concatenating the index key field and value with an underscore, e.g. cat_1.