Multikey Indexes
Overview
多键索引可提高对数组值字段的查询性能。 您可以使用 MongoDB\Collection::createIndex()
方法和与创建单字段或复合索引相同的语法在集合上创建多键索引。
样本数据
本指南中的示例使用 Atlas示例数据集的sample_mflix
数据库中的movies
集合。 要学习;了解如何创建免费的MongoDB Atlas 群集并加载示例数据集,请参阅Atlas入门指南。
创建多键索引
使用MongoDB\Collection::createIndex()
方法创建多键索引。 以下示例在数组值cast
字段上按升序创建索引:
$indexName = $collection->createIndex(['cast' => 1]);
以下是前面代码示例中创建的索引涵盖的查询示例:
$document = $collection->findOne( ['cast' => ['$in' => ['Aamir Khan', 'Kajol']]] ); echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Holi",...,"cast":["Ashutosh Gowariker", "Aamir Khan","Rahul Ranade","Sanjeev Gandhi"],...}
更多信息
多键索引在查询覆盖、索引绑定计算和排序行为方面的行为与其他索引不同。 要学习;了解有关多键索引的行为和限制的更多信息,请参阅MongoDB MongoDB Server手册中的多键索引。
要查看演示如何管理索引的可运行示例,请参阅使用索引优化查询。
API 文档
要进一步了解本指南所讨论的任何方法,请参阅以下 API 文档: