主题
唯一索引与复合索引
MongoDB 提供多种索引类型,其中唯一索引和复合索引是常用且重要的索引类型。
唯一索引(Unique Index)
唯一索引确保索引字段的值在集合中唯一,防止重复数据插入。
创建唯一索引示例
js
db.users.createIndex({ email: 1 }, { unique: true })
- 上述索引确保
email
字段在所有文档中唯一。 - 插入重复的
email
会导致错误。
复合索引(Compound Index)
复合索引是基于多个字段组合创建的索引,用于支持多字段查询和排序。
创建复合索引示例
js
db.orders.createIndex({ customerId: 1, orderDate: -1 })
- 支持根据
customerId
升序和orderDate
降序的查询。 - 复合索引可以加速涉及多个字段的过滤和排序操作。
使用建议
- 对需要保证唯一性的字段使用唯一索引,如用户名、邮箱等。
- 结合常用查询条件设计复合索引,提高查询效率。
- 注意索引字段顺序影响索引利用率,最左前缀原则需掌握。
唯一索引与复合索引是 MongoDB 优化数据完整性和查询性能的关键手段。