Navigation

MongoDB\Collection::listIndexes()

Definition

MongoDB\Collection::listIndexes

Returns information for all indexes for this collection.

function listIndexes(array $options = []): MongoDB\Model\IndexInfoIterator

This method has the following parameters:

Parameter Type Description
$options array Optional. An array specifying the desired options.

The $options parameter supports the following options:

Option Type Description
comment mixed

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

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

New in version 1.13.

maxTimeMS integer Optional. The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.
session MongoDB\Driver\Session

Optional. Client session to associate with the operation.

New in version 1.3.

Return Values

A traversable MongoDB\Model\IndexInfoIterator, which contains a MongoDB\Model\IndexInfo object for each index for the collection.

Errors/Exceptions

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).

Example

The following example lists all of the indexes for the restaurants collection in the test database:

<?php

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

foreach ($collection->listIndexes() as $index) {
   var_dump($index);
}

The output would then resemble:

object(MongoDB\Model\IndexInfo)#8 (4) {
  ["v"]=>
  int(1)
  ["key"]=>
  array(1) {
    ["_id"]=>
    int(1)
  }
  ["name"]=>
  string(4) "_id_"
  ["ns"]=>
  string(16) "test.restaurants"
}
object(MongoDB\Model\IndexInfo)#12 (4) {
  ["v"]=>
  int(1)
  ["key"]=>
  array(1) {
    ["cuisine"]=>
    float(-1)
  }
  ["name"]=>
  string(10) "cuisine_-1"
  ["ns"]=>
  string(16) "test.restaurants"
}
object(MongoDB\Model\IndexInfo)#8 (4) {
  ["v"]=>
  int(1)
  ["key"]=>
  array(1) {
    ["borough"]=>
    float(1)
  }
  ["name"]=>
  string(9) "borough_1"
  ["ns"]=>
  string(16) "test.restaurants"
}

See Also