This version of the documentation is archived and no longer supported. To learn how to upgrade your version of PHP Library Manual, refer to the upgrade documentation.




Drop all indexes in the collection, except for the required index on the _id field.

function dropIndexes(array $options = []): array|object

This method has the following parameters:

Parameter Type Description
$indexName string The name of the index to drop. View the existing indexes on the collection using the listIndexes() method.
$options array Optional. An array specifying the desired options.

The $options parameter supports the following options:

Option Type Description
typeMap array

Optional. The type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the collection’s type map.

This will be used for the returned command result document.

writeConcern MongoDB\Driver\WriteConcern

Optional. Write concern to use for the operation. Defaults to the collection’s write concern.

This is not supported for server versions prior to 3.4 and will result in an exception at execution time if used.

Return Values

An array or object with the result document of the dropIndexes command. The return type will depend on the typeMap option.


MongoDB\Exception\UnsupportedException if options are used and not supported by the selected server (e.g. collation, readConcern, writeConcern).

MongoDB\Exception\InvalidArgumentException for errors related to the parsing of parameters or options.

MongoDB\Driver\Exception\RuntimeException for other errors at the driver level (e.g. connection errors).


The following drops all indexes from the restaurants collection in the test database:


$collection = (new MongoDB\Client)->test->restaurants;

$result = $collection->dropIndexes();


The output would then resemble:

object(MongoDB\Model\BSONDocument)#9 (1) {
  array(3) {
    string(38) "non-_id indexes dropped for collection"

See Also