文档菜单
文档首页
/
MongoDB 手册
/

索引类型

本页内容

  • 单字段索引
  • 复合索引
  • 多键索引
  • 地理空间索引
  • 文本索引
  • 哈希索引
  • 聚集索引

本页面描述了您可以在 MongoDB 中创建的索引类型。不同的索引类型支持不同类型的数据和查询。

单字段索引从集合中每个文档的单个字段收集和排序数据。

此图显示了单个字段的索引得分:

Diagram of an index on the ``score`` field (ascending).

要了解更多信息,请参阅单字段索引.

复合索引从集合中每个文档的两个或更多字段收集和排序数据。数据首先按索引中的第一个字段分组,然后按每个后续字段分组。

例如,以下图像显示了一个复合索引,其中文档首先按userid以升序(字母顺序)分组。然后,对每个useridscores按降序排序

Diagram of a compound index on the ``userid`` field (ascending) and the ``score`` field (descending). The index sorts first by the ``userid`` field and then by the ``score`` field.

要了解更多信息,请参阅复合索引。

多键索引收集和排序存储在数组中的数据。

您无需显式指定多键类型。当您在包含数组值的字段上创建索引时,MongoDB会自动将索引设置为多键索引。

此图展示了addr.zip字段上的多键索引。

Diagram of a multikey index on the ``addr.zip`` field. The ``addr`` field contains an array of address documents. The address documents contain the ``zip`` field.

了解更多信息,请参阅多键索引。

地理空间索引提高了对地理坐标数据的查询性能。了解更多信息,请参阅地理空间索引。

MongoDB提供了两种地理空间索引类型

  • 2d索引,它使用平面几何来返回结果。

  • 2dsphere索引,它使用球形几何来返回结果。

文本索引支持对包含字符串内容的字段进行文本搜索查询。

了解更多信息,请参阅自托管部署上的文本索引。

注意

在Atlas部署上使用Atlas Search或Atlas Vector Search

对于托管在MongoDB Atlas上的数据,MongoDB提供以下文本搜索解决方案

  • Atlas Search与本地文本搜索相比,提供了更好的性能和功能。

  • Atlas Vector Search提供了向量搜索功能,以执行语义、混合和生成搜索。

哈希索引支持哈希分片。哈希索引索引字段值的哈希。

了解更多,请参阅哈希索引。

版本5.3.

聚集索引指定聚集集合存储数据的方式。使用聚集索引创建的集合称为聚集集合。

要了解如何创建具有聚集索引的集合,请参阅聚集集合示例。

返回

删除