MongoDB(38) - インデックスの確認・作成

インデックスの確認と作成を行います。

インデックスの確認

memberコレクションのインデックスを確認します。

インデックスの確認にはgetIndexes()を使用します。

[Mongoシェル]

1
2
> db.member.getIndexes()
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

_idフィールドに昇順(=1)のインデックスが作成されていることが分かります。

インデックス名(name)は_id_です。

これは自動的に作成されるデフォルトインデックスです。

インデックスの作成

memberコレクションにインデックスを作成します。

インデックスの作成にはcreateIndex()を使います。

引数にはフィールド名と昇順(=1)か降順(=-1)を指定します。

フィールド名はカンマ区切りで複数指定可能です。

[Mongoシェル]

1
2
3
4
5
6
> db.member.createIndex({LastName:1})
{
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"createdCollectionAutomatically" : false,
"ok" : 1

インデックスが1つから2つに増えたことが確認できます。

“ok”が1となっているのでインデックスが1つ作成されたということになります。


作成したインデックスを確認します。

[Mongoシェル]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
> db.member.getIndexes()
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"LastName" : 1
},
"name" : "LastName_1"
}
]

デフォルトインデックス(_id)のほかに、LastNameフィールドにもインデックスが作成されていることが確認できます。

インデックス作成時にインデックス名を指定していなかったので、自動的に”LastName_1”というインデックス名になっています。


次回は、インデックス作成のオプションを確認します。