Docs HomeMongoDB Manual

reIndex

On this page本页内容

Definition

reIndex

Deprecated since version 6.0.

Attempting to run the reIndex command writes a warning message to the log.

Tip

In mongosh, this command can also be run through the db.collection.reIndex() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

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

Syntax

The command has the following syntax:

db.runCommand(
{
reIndex: <collection>
}
)

Command Fields

The command takes the following fields:

FieldDescription
reIndexThe name of the collection to reindex.

Behavior

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

Resource Locking

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.