索引类型

复合索引

  根据多个域创建一个索引

  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"})

原文地址:https://www.cnblogs.com/zengsf/p/9682841.html