mongodb索引

创建索引:

mongodb使用createIndex()和ensureIndex()方法来创建索引,前者用于3.0及以上版本,后者用于3.0以下版本。
语法:

db.COLLECTION_NAME.ensureIndex(keys[,options])

keys:要建立索引的参数列表。如:{KEY:1},其中key表示字段名,1表示升序排序,也可使用使用数字-1降序。
options:可选参数,表示建立索引的设置。可选值如下:
background,Boolean,在后台建立索引,以便建立索引时不阻止其他数据库活动。默认值为false。
unique,Boolean,创建唯一索引。默认值 false。
name,String,指定索引的名称。如果未指定,MongoDB会生成一个索引字段的名称和排序顺序串联。
partialFilterExpression, document.如果指定,MongoDB只会给满足过滤表达式的记录建立索引.
sparse,Boolean,对文档中不存在的字段数据不启用索引。默认值是 false。
expireAfterSeconds,integer,指定索引的过期时间
storageEngine,document,允许用户配置索引的存储引擎
创建索引如下所示:

db.wilsonuser.createIndex({name:1,age:1},{unique:true})
{
“createdCollectionAutomatically” : false,
“numIndexesBefore” : 1,
“numIndexesAfter” : 2,
“ok” : 1
}

查看索引:

MongoDB提供的查看索引信息的方法:
getIndexes()方法可以用来查看集合的所有索引,
getIndexKeys()方法查看索引键。
totalIndexSize()查看集合索引的总大小,
getIndexSpecs()方法查看集合各索引的详细信息

db.wilsonuser.getIndexes()
[
{
“v” : 2,
“key” : {
“_id” : 1
},
“name” : “id”,
“ns” : “wilsoner.wilsonuser”
},
{
“v” : 2,
“unique” : true,
“key” : {
“name” : 1,
“age” : 1
},
“name” : “name_1_age_1”,
“ns” : “wilsoner.wilsonuser”
}
]

你可能感兴趣的:(mongdb)