Mongo DB: 索引・インデックス

インデックスを一覧する

db.collection.getIndexes();

> db.artist.getIndexes();
[
	{
		"v" : 1,
		"key" : {
			"_id" : 1
		},
		"ns" : "music.artist",
		"name" : "_id_"
	}
]

_id には標準でつく

インデックスを追加する

db.collection.ensureIndex();

debut で昇順 (+1) のインデックスを設定する
ランキングとかだったら降順 (-1) とかにした方がいいかも。

> db.artist.ensureIndex({debut: 1});
[
	{
		"v" : 1,
		"key" : {
			"_id" : 1
		},
		"ns" : "music.artist",
		"name" : "_id_"
	},
	{
		"v" : 1,
		"key" : {
			"debut" : 1
		},
		"ns" : "music.artist",
		"name" : "debut_1"
	}
]

インデックスを削除する

db.collection.dropIndex();

> db.artist.dropIndex('debut_1');

重複の禁止

unique: true

unique の設定、重複する name は設定できないようにする

> db.artist.ensureIndex({name: 1}, {unique: true});

以後、name が重複する insert などはできない。