文档菜单
文档首页
/ / /
C++ 驱动
/

单字段索引

本页内容

  • 概述
  • 示例数据
  • 创建单字段索引
  • 附加信息
  • API 文档

单字段索引 是在集合文档中保存对单个字段的引用的索引。这些索引提高了单字段查询和排序性能。它们还支持TTL 索引,该索引会在一定时间后或指定的时间自动从集合中删除文档。

要创建单字段索引,请调用create_index() 方法,并指定包含以下信息的文档

  • 需要创建索引的字段。

  • 索引值的排序顺序。使用 1 表示升序,使用 -1 表示降序。

注意

默认的 _id_ 索引是一个单字段索引的示例。当创建新集合时,此索引会自动在 _id 字段上创建。

本指南中的示例使用来自 Atlas 示例数据集sample_mflix 数据库中的 movies 集合。要从您的 C++ 应用程序访问此集合,请实例化一个连接到 Atlas 集群的 mongocxx::client,并将以下值分配给您的 dbcollection 变量

auto db = client["sample_mflix"];
auto collection = db["movies"];

要了解如何创建免费的 MongoDB Atlas 集群并加载数据集,请参阅 Atlas 入门 指南。

以下示例使用 create_index() 方法在 title 字段上创建一个升序的单字段索引

auto index_specification = make_document(kvp("title", 1));
auto result = collection.create_index(index_specification.view());

以下查询被前面代码示例中创建的索引覆盖

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,...}

要查看如何管理索引的示例,请参阅使用索引优化查询.

要了解更多关于索引的信息,请参阅MongoDB服务器手册中的以下资源

要了解本指南中讨论的方法的更多信息,请参阅以下API文档

返回

使用索引