Overview
复合索引是保存对集合文档中多个字段的引用的索引。这些索引提高了多字段查询和排序性能。
要创建复合索引,请调用 create_index() 方法并指定包含以下信息的文档:
要在其上创建索引的字段。
索引值的排序顺序。 使用 1 表示升序,使用
-1表示降序。
样本数据
本指南中的示例使用Atlas示例数据集的sample_mflix数据库中的movies集合。 要从C++应用程序访问权限此集合,请实例化一个连接到Atlas 集群的mongocxx::client ,并将以下值分配给db和collection变量:
auto db = client["sample_mflix"];auto collection = db["movies"];要学习如何创建免费的MongoDB Atlas 集群并加载示例数据集,请参阅MongoDB 入门指南。
创建复合索引
以下示例将在 title 和 year 字段上创建升序复合索引:
auto index_specification = make_document(kvp("title", 1), kvp("year", 1));auto result = collection.create_index(index_specification.view());在前面的代码示例中创建的索引涵盖了以下查询:
auto document = collection.find_one(make_document(kvp("title","Peter Pan"), kvp("year", 1924)));std::cout << bsoncxx::to_json(*document) << std::endl;更多信息
要查看演示如何管理索引的可运行示例,请参阅索引。
要学习;了解有关索引的更多信息,请参阅MongoDB Server手册中的以下资源:
API 文档
要学习;了解有关本指南中讨论的方法的更多信息,请参阅以下API文档: