Docs 菜单
Docs 主页
/ / /
C++ 驱动程序
/

单字段索引

在此页面上

  • Overview
  • 样本数据
  • 创建单字段索引
  • 更多信息
  • 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 Server手册中的以下资源:

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

后退

使用索引