MongoDB提供了多种索引类型,以满足不同的查询需求和数据模式。以下是一些常见的索引类型:
1. 单字段索引
基于单个字段的值创建索引,适用于经常需要基于单个字段进行查询的场景。
2. 复合索引
基于多个字段的值创建索引,支持查询中使用的字段顺序与索引字段顺序一致的前缀子集。选择合适的字段顺序对于复合索引的性能至关重要。
3. 多键索引
主要用于数组类型的字段。对于数组中的每个元素,MongoDB都会为其创建一个索引条目,使得我们可以高效地查询数组字段中包含特定元素的文档。
4. 地理空间索引
用于支持地理位置的查询和计算,包括2dsphere索引(用于球面地理空间数据)和2d索引(用于平面地理空间数据)。
5. 文本索引
用于支持字符串内容的全文搜索,允许我们根据关键词或短语快速找到相关文档。
6. TTL索引
一种特殊类型的单字段索引,用于自动删除过期的数据。它基于字段的值和指定的过期时间来工作,特别适用于需要定期清理过期数据的场景。