MongoDBノート(6)-索引

構文:

> db.collection.createIndex(keys, options)
> db.demo.createIndex({"name":1})
>
パラメータ タイプ 説明文
バックグラウンド ブール インデックス作成プロセスにより、他のデータベース操作がブロックされます。バックグラウンドを指定して、バックグラウンドでインデックスを作成できます。つまり、オプションのパラメーター「background」が追加されます。「background」のデフォルト値はfalseです。
ユニークな ブール 作成されたインデックスが一意かどうか。一意のインデックスを作成するには、trueを指定します。デフォルト値はfalseです。
名前 ストリング インデックスの名前。指定されていない場合、MongoDBは、フィールド名とインデックスの並べ替え順序を接続してインデックス名を生成します。
dropDups ブール ** 3.0 +バージョンは廃止されました。**一意のインデックスを作成するときに重複レコードを削除するかどうか、trueを指定して一意のインデックスを作成します。デフォルト値はfalseです。
ブール ドキュメントに存在しないフィールドデータのインデックス作成を有効にしないでください。このパラメータには特別な注意が必要です。trueに設定されている場合、対応するフィールドを含まないドキュメントは、インデックスフィールドでクエリされません。デフォルト値はfalseです。
expireAfterSeconds 整数 秒単位で値を指定して、TTL設定を完了し、セットの生存時間を設定します。
v インデックスバージョン インデックスのバージョン番号。デフォルトのインデックスバージョンは、インデックスの作成時にmongodが実行するバージョンによって異なります。
重み 資料 インデックスの重み値。1〜99,999の値で、他のインデックスフィールドに対するインデックスのスコアの重みを示します。
既定の言語 ストリング テキストインデックスの場合、このパラメーターはストップワードとステミングおよび語彙規則のリストを決定します。デフォルトは英語です
language_override ストリング テキストインデックスの場合、このパラメーターはドキュメントに含まれるフィールド名を指定し、言語はデフォルト言語をオーバーライドし、デフォルト値はlanguageです。

新しいインデックス:

> db.demo.createIndex({"name":1})
{
	"createdCollectionAutomatically" : false,
	"numIndexesBefore" : 1,
	"numIndexesAfter" : 2,
	"ok" : 1
}

インデックスを表示:

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

インデックスサイズを表示します。

> db.demo.totalIndexSize()
53248

インデックスを削除します(削除する場合はインデックス名に注意してください)。

> db.demo.dropIndex("name")
{
	"nIndexesWas" : 2,
	"ok" : 0,
	"errmsg" : "index not found with name [name]",
	"code" : 27
}
> 
> db.demo.getIndexes()
[
	{
		"v" : 1,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "demo.demo"
	},
	{
		"v" : 1,
		"key" : {
			"name" : 1
		},
		"name" : "name_1",
		"ns" : "demo.demo"
	}
]
> 
> db.demo.dropIndex("name_1")
{ "nIndexesWas" : 2, "ok" : 1 }
> 
> db.demo.getIndexes()
[
	{
		"v" : 1,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "demo.demo"
	}
]
> 

すべてのインデックスを削除

> db.demo.dropIndexes()
发布了90 篇原创文章 · 获赞 12 · 访问量 17万+

おすすめ

転載: blog.csdn.net/u012382791/article/details/105425563