多键索引
概述
多键索引是提高数组值字段查询性能的索引。您可以使用MongoDB\Collection::createIndex()
方法以及与创建单字段或组合索引相同的语法在集合上创建多键索引。
示例数据
本指南中的示例使用来自 sample_mflix
数据库的 movies
集合。Atlas 示例数据集。要了解如何创建免费的 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 服务器手册中的 多键索引。
要查看演示如何管理索引的可用示例,请参阅 通过使用索引优化查询。
API 文档
要了解更多关于本指南中讨论的任何方法,请参阅以下 API 文档