索引属性
索引属性会影响查询规划器使用索引的方式以及索引文档的存储方式。您可以在创建索引时将索引属性指定为可选参数。
以下部分介绍了您在构建索引时可以指定的索引属性。
注意
并非所有索引类型都与所有索引属性兼容。
不分大小写的索引
不区分大小写的索引支持以不考虑字母大小写的方式对字符串进行查询。
Hidden Indexes
您可以使用隐藏索引评估删除索引的潜在影响,而无需将其实际删除。如有不利影响,您可以取消隐藏该索引,而不必重新创建删除的索引。隐藏索引是完全保留的,可以在取消隐藏后立即使用。
部分索引
部分索引仅对集合中符合指定过滤表达式的文档进行索引。部分索引的存储要求较低,创建和维护索引的性能成本也较低。
部分索引提供了比稀疏索引更全面的功能,因此应优先选择部分索引。
Sparse Indexes
稀疏索引仅包含具有索引字段的文档的条目。这些索引跳过没有索引字段的文档。
TTL Indexes
TTL 索引可在一定时间后从集合中自动删除文档。这些索引适用于只需在有限时间内持续存在的数据,比如机器生成的事件数据、日志和会话信息。
Unique Indexes
唯一索引会导致 MongoDB 拒绝已索引字段的重复值。如果文档包含唯一标识符(例如 userId
),这些索引会非常有用。