复合索引
Overview
复合索引保存对集合文档中多个字段的引用,从而提高查询和排序性能。您可以使用 MongoDB\Collection::createIndex()
方法和与创建单字段索引相同的语法在集合上创建复合索引索引。
样本数据
本指南中的示例使用 Atlas 样本数据集的sample_mflix
数据库中的movies
集合。要了解如何创建免费的 MongoDB Atlas 集群并加载样本数据集,请参阅Atlas 入门指南。
创建复合索引
使用MongoDB\Collection::createIndex()
方法创建复合索引。以下示例按升序对title
和year
字段创建索引:
$indexName = $collection->createIndex( ['title' => 1, 'year' => 1] );
以下是前面代码示例中创建的索引涵盖的查询示例:
$document = $collection->findOne( ['title' => ['$regex' => 'Sunrise'], 'year' => ['$gte' => 1990]] ); echo json_encode($document), PHP_EOL;
更多信息
要了解有关复合索引的更多信息,请参阅 MongoDB Server 手册中的复合索引。
要查看演示如何管理索引的可运行示例,请参阅使用索引优化查询。
API 文档
要了解有关本指南中讨论的任何方法的更多信息,请参阅以下 API 文档: