复合索引
根据多个域创建一个索引
db.class1.ensureIndex({name:1,age:-1},{name:"name_age"})
数组索引,子文档索引
定义:如果对某个数组和子文档域创建索引,那么根据数组和子文档的查找均为索引查找
如果对score域创建索引则 下面的查找也是索引查找
db.class2.find({'score.0':60},{_id:0})
唯一索引
定义:创建索引,索引域值无重复,此时可以创建唯一索引,唯一索引数据结构更加便于查找
db.class1.ensureIndex({name:1},{unique:true})
* 当对某个域创建唯一索引,该域就不能再插入重复数据
稀疏索引
定义:只针对有指定域的文档创建索引表,如果某个文档没有该域则不会插入到索引表中
db.class1.ensureIndex({age:1},{sparse:true,name:"ageIndex"})