Docs Menu

Docs HomePHP Library Manual

MongoDB\Collection::dropIndexes()

On this page

  • Definition
  • Parameters
  • Return Values
  • Errors/Exceptions
  • Example
  • See Also
MongoDB\Collection::dropIndexes()

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

function dropIndexes(array $options = []): array|object
$indexName : string| MongoDB\Model\IndexInfo
The name or model object of the index to drop. View the existing indexes on the collection using the listIndexes() method.
$options : array

An array specifying the desired options.

Name
Type
Description
comment
mixed

Enables users to specify an arbitrary comment to help trace the operation through the database profiler, currentOp output, and logs.

This option is available since MongoDB 4.4 and will result in an exception at execution time if specified for an older server version.

New in version 1.13.

maxTimeMS
integer

The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.

New in version 1.3.

session

Client session to associate with the operation.

New in version 1.3.

typeMap
array

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

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

It is not possible to specify a write concern for individual operations as part of a transaction. Instead, set the writeConcern option when starting the transaction.

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:

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$result = $collection->dropIndexes();
var_dump($result);

The output would then resemble:

object(MongoDB\Model\BSONDocument)#9 (1) {
["storage":"ArrayObject":private]=>
array(3) {
["nIndexesWas"]=>
int(3)
["msg"]=>
string(38) "non-_id indexes dropped for collection"
["ok"]=>
float(1)
}
}
←  MongoDB\Collection::dropIndex()MongoDB\Collection::dropSearchIndex() →