Navigation

Manage Indexes

Indexes are special data structures that improve query performance. Indexes store a portion of a collection’s data in an easy-to-traverse form. The index stores the value of a specific field or set of fields, ordered by the value of the field.

To improve query performance, build indexes on fields that appear often in queries and for all operations that sort by a field.

  • Queries on an indexed field can use the index to limit the number of documents that must be scanned to find matching documents.
  • Sort operations on an indexed field can return documents pre-sorted by the index.

To learn more about indexes, see Indexes.

Considerations

Indexes have some negative performance impact on write operations. For collections with high write-to-read ratio, indexes are expensive since each insert must also update any indexes. For a detailed list of considerations for indexes, see Operational Considerations for Indexes.

Indexes Tab

The Indexes tab lists the existing indexes for a collection.

To access the Indexes tab for a collection, click on the collection on the left hand pane and select the Indexes tab.

../_images/indexes-view.png

For each index, Compass displays the following information:

Name and Definition The name of the index and keys.
Type Regular, text, geospatial or hashed index.
Size How large the index is.
Usage Number of times the index has been used since the time the index was created or the last server restart.
Properties Any special properties (such as uniqueness, partial) of the index.

Create an Index

To create an index on a collection via Compass, the collection must contain documents.

1

Click the Create Index button.

From the Indexes tab, click the Create Index button to bring up the Create Index dialog.

2

Optional. Enter the index name.

In the dialog, enter the name of the index to create, or leave blank to have MongoDB create a default name for the index.

3

Add fields to index.

To specify a key for the index, select the field and the index type. To index additional fields, click Add Another Field.

4

Optional. Specify the index options.

Compass supports the following index options:

Option Description More Information
Build index in the background If checked, ensure that the MongoDB deployment remains available during the index build operation. Background Construction
Create unique index If checked, ensure that the indexed fields do not store duplicate values. Unique Indexes
Create TTL If checked, automatically delete documents after a specified number of seconds since the indexed field value. TTL Indexes
Partial filter expression

If checked, only index documents which match the specified filter expression.

Example

The following partial filter expression only indexes documents where the timezone field exists:

{ "timezone": { "$exists": true } }
Partial Indexes
Use custom collation If checked, create a custom collation for the index using the options provided in Compass. Collation Document
Wildcard projection (New in MongoDB 4.2) If checked, support unknown or arbitrary fields which match the specified projection in the index. Wildcard Indexes
5

Click Create to create the index.

Drop an Index

1

Click the trash can icon for the index to drop.

From the Indexes tab, to delete an index, click on the trash can icon for that index. A confirmation dialog appears.

2

Confirm the index to delete.

In the dialog, enter the name of the index to delete.

3

Click Drop to drop the index.

Limitations

  • Creating and dropping indexes is not permitted in MongoDB Compass Readonly Edition.
  • The Indexes tab is not available if you are connected to a Data Lake.