索引类型
本页描述了您可以在 MongoDB 中创建的索引类型。不同的索引类型支持不同类型的数据和查询。
单字段索引
单个字段索引收集集合内每个文档中单个字段的数据,并对其排序。
此图显示了单个字段的索引,score
:
要了解详情,请参阅单字段索引。
复合索引
复合索引从集合中每个文档的两个或多个字段收集数据并对其排序。数据先按索引中的第一个字段分组,再按每个后续字段分组。
例如,下图显示了一个复合索引,其中文档首先按 userid
分组并以升序(按字母顺序)排序。然后,每个 userid
的 scores
按降序排序:
如要了解更多信息,请参阅复合索引。
Multikey Index
多键索引收集数组中存储的数据并进行排序。
您无需显式指定多键类型。对包含数组值的字段创建索引时,MongoDB 会自动将该索引设为多键索引。
下图显示了 addr.zip
字段的多键索引:
要了解更多信息,请参阅多键索引。
地理空间索引
地理空间索引可提高对地理空间坐标数据进行查询的性能。要了解详情,请参阅地理空间索引。
MongoDB 提供两种类型的地理空间索引:
使用平面几何返回结果的 2d 索引。
使用球面几何返回结果的 2dsphere 索引。
Text Index
文本索引支持对包含字符串内容的字段进行文本搜索查询。
要了解更多信息,请参阅自管理部署上的文本索引。
注意
使用针对 Atlas 部署的 Atlas Search
对于 MongoDB Atlas 上托管的数据,MongoDB 提供全文搜索解决方案 Atlas Search。与本地部署文本搜索相比,Atlas Search 提供了改进的性能和功能。
哈希索引
哈希索引支持哈希分片。哈希索引对字段值的哈希值进行索引。
要了解更多信息,请参阅哈希索引。
聚集索引
5.3 版本中的新增功能。
集群化索引指定集群化集合存储数据的顺序。使用集群化索引创建的集合称为集群化集合。
要了解如何使用聚集索引创建集合,请参阅集群化集合示例。