Docs 菜单
Docs 主页
/ / /
PHP 库手册
/

复合索引

在此页面上

  • Overview
  • 样本数据
  • 创建复合索引
  • 更多信息
  • API 文档

复合索引保存对集合文档中多个字段的引用,从而提高查询和排序性能。 您可以使用 MongoDB\Collection::createIndex()方法和与创建单字段索引相同的语法在集合上创建复合索引索引。

本指南中的示例使用 Atlas示例数据集sample_mflix数据库中的movies集合。 要学习;了解如何创建免费的MongoDB Atlas 群集并加载示例数据集,请参阅Atlas入门指南。

使用MongoDB\Collection::createIndex()方法创建复合索引。 以下示例按升序对titleyear字段创建索引:

$indexName = $collection->createIndex(
['title' => 1, 'year' => 1]
);

以下是前面代码示例中创建的索引涵盖的查询示例:

$document = $collection->findOne(
['title' => ['$regex' => 'Sunrise'],
'year' => ['$gte' => 1990]]
);
echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Before Sunrise",...,"year":1995,...}

要学习;了解有关复合索引的更多信息,请参阅MongoDB Server手册中的复合索引

要查看演示如何管理索引的可运行示例,请参阅使用索引优化查询。

要进一步了解本指南所讨论的任何方法,请参阅以下 API 文档:

后退

单字段索引