查看集合的索引:
db.collection_name.getIndexes()
创建普通索引且升序。倒序为-1:
db.collection_name.ensureIndex({"name":1})
内嵌文档上创建索引
db.collection_name.ensureIndex({"account.name":1})
指定索引名称
db.collection_name.ensureIndex({"age":1},{"name":"idx_name"})
后台创建复合索引
db.collection_name.ensureIndex({"name":1,"age":1},{"name":"idx_name_age","background":true})
后台创建唯一索引
db.collection_name.ensureIndex({"name":1,"age":1},{"name":"uk_name_age","background":true,"unique":true})
删除索引,指定"key"
db.collection_name.dropIndex({"a" : "hashed"})
删除索引,指定"key"
db.collection_name.dropIndex({"b" : 1})
删除索引,指定"name"
db.collection_name.dropIndex("idx_c")
删除索引,删除集合的全部索引
db.collection_name.dropIndex("*")
删除索引,删除集合的全部索引
db.collection_name.dropIndex("*")
重建索引:
db.collection_name.reIndex()
强制使用指定索引。#hint里面是"索引字段"或则"索引名"
db.collection_name.find({"c":1,"b":2}).hint("b_1")