Docs Menu

Docs HomeDevelop ApplicationsMongoDB Manual

reIndex

On this page

  • Definition
  • Behavior
reIndex

The reIndex command drops all indexes on a collection and recreates them. This operation may be expensive for collections that have a large amount of data and/or a large number of indexes.

Warning

  • reIndex may only be run on standalone instances.

  • For most users, the reIndex command is unnecessary.

Use the following syntax:

{ reIndex: <collection> }

The command takes the following fields:

Field
Description
reIndex
The name of the collection to reindex.

mongosh provides a wrapper db.collection.reIndex().

For MongoDB 5.0 or later, reIndex may only be run on standalone instances.

Changed in version 4.2.2.

For MongoDB 4.2.2 and later, reIndex obtains an exclusive (W) lock on the collection and blocks other operations on the collection until it completes.

For MongoDB 4.0.0 through 4.2.1, reIndex obtains a global exclusive (W) lock and blocks other operations on the mongod until it completes.

For MongoDB 3.6 and earlier, reIndex obtains an exclusive (W) lock on the database and blocks other operations on the database until finished.

For more information on locking in MongoDB, see FAQ: Concurrency.

Tip

See:

Index Builds on Populated Collections for more information on the behavior of indexing operations in MongoDB.

←  logRotaterenameCollection →

On this page