创建索引:
db.table_name.ensureIndex(keys[,options])
1, keys,要建立索引的参数列表。如:{KEY:1},其中key表示字段名,1表示升序排序,也可使用使用数字-1降序。
2, options,可选参数,表示建立索引的设置。可选值如下:
background,Boolean,在后台建立索引,以便建立索引时不阻止其他数据库活动。默认值 false。 unique,Boolean,创建唯一索引。默认值 false。 name,String,指定索引的名称。如果未指定,MongoDB会生成一个索引字段的名称和排序顺序串联。 dropDups,Boolean,创建唯一索引时,如果出现重复删除后续出现的相同索引,只保留第一个。 sparse,Boolean,对文档中不存在的字段数据不启用索引。默认值是 false。 v,index version,索引的版本号。 weights,document,索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。
# 在字段age 上创建索引,1(升序);-1(降序): db.users.ensureIndex({age:1})
# _id 是创建表的时候自动创建的索引,此索引是不能够删除的。
# 当系统已有大量数据时,创建索引就是个非常耗时的活,我们可以在后台执行,只需指定“backgroud:true”即可。 db.t3.ensureIndex({age:1} , {backgroud:true})
db.collection.ensureIndex( { a: 1, b: 1 }, { unique: true } )
重建索引:
db.table_name.reIndex()
查看索引:
db.table_name.getIndexes()
查看索引大小:
db.table_name.totalIndexSize()
查看当前数据库的所有索引
db.system.indexes.find()
删除某表指定索引:
db.table_name.dropIndex("name_index")
删除某表所有索引:
db.table_name.dropIndexes()
#############################