查看集合的索引:db.gooverit_collection1.getIndexes() 创建集合的索引:db.gooverit_collection1.ensureIndex({x:1})
1、_id索引 _id索引是绝大多数集合默认创建的索引; 对于每条插入的数据,都会自动生成一个唯一的_id字段
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISOyQjM0ADNxITNyEDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2、单键索引 单键索引是最普通的索引; 与_id索引不同,单键索引不会自动创建; 值为一个单一的值,例如字符串,数字或者日期。
3、多键索引 值具有多个纪录,例如数组
4、复合索引 当查询条件不只一个时,就需要建立复合索引。
5、过期索引(DDL索引) 过期索引就是在一段时间后会过期的索引; 在索引过期后,相应的数据会被删除; 适合存储一些在一段时间后会失效的数据,比如:用户的登陆信息、存储日志等。 过期索引的注意事项: 存储在过期索引字段的值必须是指定的时间类型,否则不能被自动删除; 时间类型必须是:ISODate或者 ISODate数组; 如果过期索引字段的值是ISODate数组,则会按照最小的时间进行删除; 过期索引不能是复合索引; 删除时间不是精确的:因为删除过程是有后台程序每隔60秒跑一次,并且删除本身也需要一些时间,所以存在误差。
创建方法:db.gooverit_collection1.ensureIndex({time:1},{expireAfterSeconds:10})
10秒后再次查询 该数据已被删除。
= 6、全文索引
7、地理位置索引