组合索引
概述
组合索引是存储集合文档中多个字段引用的索引。这些索引提高了多字段查询和排序性能。
要创建组合索引,调用create_index()
方法,并指定包含以下信息的文档
要创建索引的字段。
索引值的排序顺序。使用 ``1`` 表示升序或
-1
表示降序。
示例数据
本指南中的示例使用来自 sample_mflix
数据库中的 movies
集合。要从您的 C++ 应用程序访问此集合,实例化一个连接到 Atlas 群集的 mongocxx::client
,并将以下值分配给您的 db
和 collection
变量
auto db = client["sample_mflix"]; auto collection = db["movies"];
要了解如何创建免费的 MongoDB Atlas 群集并加载示例数据集,请参阅 Atlas 入门 指南。
创建复合索引
以下示例在标题
和年份
字段上创建了一个升序复合索引
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;
{ "_id" :..., "plot" : "Peter Pan enters the nursery of the Darling children...", ..., "year" : 1924, "imdb" : ..., "type", "movie",...}
更多信息
要查看演示如何管理索引的可执行示例,请参阅使用索引优化查询.
要了解更多关于索引的信息,请参阅MongoDB服务器手册中的以下资源
API 文档
要了解更多关于本指南中讨论的方法,请参阅以下API文档