天天看点

MongoDB笔记4:MongoDB的索引

查看集合的索引:db.gooverit_collection1.getIndexes() 创建集合的索引:db.gooverit_collection1.ensureIndex({x:1})

1、_id索引      _id索引是绝大多数集合默认创建的索引;      对于每条插入的数据,都会自动生成一个唯一的_id字段      

MongoDB笔记4:MongoDB的索引
MongoDB笔记4:MongoDB的索引

      2、单键索引     单键索引是最普通的索引;     与_id索引不同,单键索引不会自动创建;     值为一个单一的值,例如字符串,数字或者日期。     

MongoDB笔记4:MongoDB的索引
MongoDB笔记4:MongoDB的索引

3、多键索引     值具有多个纪录,例如数组     

4、复合索引     当查询条件不只一个时,就需要建立复合索引。       

MongoDB笔记4:MongoDB的索引
MongoDB笔记4:MongoDB的索引

5、过期索引(DDL索引)    过期索引就是在一段时间后会过期的索引;    在索引过期后,相应的数据会被删除;    适合存储一些在一段时间后会失效的数据,比如:用户的登陆信息、存储日志等。        过期索引的注意事项:        存储在过期索引字段的值必须是指定的时间类型,否则不能被自动删除;        时间类型必须是:ISODate或者 ISODate数组;        如果过期索引字段的值是ISODate数组,则会按照最小的时间进行删除;        过期索引不能是复合索引;        删除时间不是精确的:因为删除过程是有后台程序每隔60秒跑一次,并且删除本身也需要一些时间,所以存在误差。

   创建方法:db.gooverit_collection1.ensureIndex({time:1},{expireAfterSeconds:10})    

MongoDB笔记4:MongoDB的索引
MongoDB笔记4:MongoDB的索引

      10秒后再次查询 该数据已被删除。     

MongoDB笔记4:MongoDB的索引

=   6、全文索引

7、地理位置索引