- Tutorials >
- Indexes
Indexes
Indexes support the efficient execution of queries in MongoDB. Without indexes, MongoDB must perform a collection scan, i.e. scan every document in a collection, to select those documents that match the query statement. If an appropriate index exists for a query, MongoDB can use the index to limit the number of documents it must inspect.
The PHP driver supports managing indexes through the
MongoDB\Collection
class, which implements MongoDB’s
cross-driver Index Management
and Enumerating Indexes
specifications.
This document provides an introduction to creating, listing, and dropping indexes using the MongoDB PHP Library. The MongoDB Manual’s Indexes reference provides more thorough information about indexing in MongoDB.
Create Indexes
Create indexes with the MongoDB\Collection::createIndex()
or
MongoDB\Collection::createIndexes()
methods. Refer to the method
reference for more details about each method.
The following example creates an ascending index on the state
field using
the createIndex()
method:
When you create an index, the method returns its name, which is automatically generated from its specification. The above example would output something similar to:
List Indexes
The MongoDB\Collection::listIndexes()
method provides information
about the indexes in a collection. The
MongoDB\Collection::listIndexes()
method returns an iterator of
MongoDB\Model\IndexInfo
objects, which you can use to view
information about each index. Refer to the method reference for more details.
The following example lists all indexes in the zips
collection in the
test
database:
The output would resemble:
Drop Indexes
The MongoDB\Collection::dropIndex()
method lets you drop a single
index while MongoDB\Collection::dropIndexes()
drops all of the
indexes on a collection. Refer to the method reference for more details about
each method.
The following example drops a single index by its name, state_1
:
The operation’s output would resemble: