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