mongoIndex

查看索引

1
2
3
> db.user.getIndexSpecs() 
or
> db.user.getIndexes()

id索引

默认创建 _id

单键索引

  • 创建索引:
    1
    db.user.createIndex({x:1})

索引可以重复创建,如果索引已存在,则直接返回成功

复合索引

1
db.user.createIndex({x:1,y:1})

过期索引

1
db.user.createIndex({"expiredAt":1}, {expireAfterSeconds: 604800, background: true})

唯一索引

1
db.user.createIndex({"uid":1, "aid":1}, {"unique" : true, background: true})

查看索引创建进度

1
2
3
4
5
6
7
8
db.currentOp(
{
$or: [
{ op: "command", "query.createIndexes": { $exists: true } },
{ op: "insert", ns: /\.system\.indexes\b/ }
]
}
)

终止索引的创建

1
db.killOp()

查看索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
> db.user.getIndexes()
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "blog.user"
},
{
"v" : 2,
"key" : {
"x" : 1
},
"name" : "x_1",
"ns" : "blog.user"
},
{
"v" : 2,
"key" : {
"x" : 1,
"y" : 1
},
"name" : "x_1_y_1",
"ns" : "blog.user"
}
]
>