> db.table1.ensureIndex({name:1},{backgroud:true}) #1代表升序,-1降序,backgroud默认false,会阻塞其他数据库操作
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.table1.ensureIndex({name:1,age:-1},{backgroud:true}) #多列索引
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 2,
"numIndexesAfter" : 3,
"ok" : 1
}
> db.table1.getIndexKeys()
[ { "_id" : 1 }, { "name" : 1 }, { "name" : 1, "age" : -1 } ] #_id默认就有
####删除索引
> db.table1.dropIndex({name:1}) #删除name:1的索引
{ "nIndexesWas" : 3, "ok" : 1 }
> db.table1.dropIndexes() #删除所有除_id的索引
{
"nIndexesWas" : 2,
"msg" : "non-_id indexes dropped for collection",
"ok" : 1
}
读取索引 > db.table1.reIndex({name:1,age:-1},{backgroud:true})
{
"nIndexesWas" : 2,
"nIndexes" : 2,
"indexes" : [
{
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "db1.table1"
},
{
"key" : {
"name" : 1,
"age" : -1
},
"name" : "name_1_age_-1",
"ns" : "db1.table1",
"backgroud" : true
}
],
"ok" : 1
}