Single Field Indexes
Overview
Single field indexes are indexes that hold a reference to a single field in a collection's documents. These indexes improve single field query and sort performance. They also support TTL Indexes that automatically remove documents from a collection after a certain amount of time or at a specified clock time.
To create a single field index, call the create_index()
method and specify a document containing the following information:
Fields on which to create the index.
Sort order for the indexed values. Use
1
for ascending or-1
for descending.
Note
The default _id_
index is an example of a single field index.
This index is automatically created on the _id
field when a new
collection is created.
Sample Data
The examples in this guide use the movies
collection in the sample_mflix
database from the Atlas sample datasets. To access this collection
from your C++ application, instantiate a mongocxx::client
that connects to an Atlas cluster
and assign the following values to your db
and collection
variables:
auto db = client["sample_mflix"]; auto collection = db["movies"];
To learn how to create a free MongoDB Atlas cluster and load the sample datasets, see the Get Started with Atlas guide.
Create Single-Field Index
The following example uses the create_index()
method to
create an ascending single field index on the title
field:
auto index_specification = make_document(kvp("title", 1)); auto result = collection.create_index(index_specification.view());
The following query is covered by the index created in the preceding code example:
auto document = collection.find_one(make_document(kvp("title","Peter Pan"))); std::cout << bsoncxx::to_json(*document) << std::endl;
{ "_id" :..., "plot" : "Peter Pan enters the nursery of the Darling children...", "genres" : [ "Adventure", "Fantasy", "Family" ], "runtime" : 105,...}
Additional Information
To view runnable examples that demonstrate how to manage indexes, see Optimize Queries with Indexes.
To learn more about indexes, see the following resources in the MongoDB Server manual:
API Documentation
To learn more about the methods discussed in this guide, see the following API documentation: