MongoDBのは、インデックス(指数)、従来のリレーショナルデータベースの役割に類似したインデックスのセットに基づいており、目的は、クエリの速度を向上させることです。インデックスがない場合は、MongoDBは、データを読み込む際にレコードが設定されているすべての文書をスキャンする必要があります。走査効率のこのフルセットは非常に低く、大規模データを扱う場合は特に、クエリは、Webサイトが許容できないインターネットアプリケーションに基づいており、数分に数十秒かかる場合があります。コレクションのインデックス作成は、クエリがインデックスのコンテンツをスキャンすると、対応するコレクションをスキャンしません。しかし、同じインデックスで、追加のストレージのオーバーヘッドを追加する必要があり、ドキュメントの新たに挿入されたコレクションは、それは、インデックスが並べ替えが発生します。このプロセスは、クエリの速度に影響する場合場合には、インデックスが作成されています。MongoDBのインデックスBツリーデータ構造が形成され、対応するアルゴリズムです。デフォルトでは、コレクションを構築しながら、MongoDBのデータベースのコレクションは、一意のインデックスを作成して自動的に_idは、ドキュメントの_id値に同じレコードの繰り返しを避けることができます。
単一フィールドインデックスを作成します。
db.student.createIndex({年齢:1})年齢フィールド名1 -1昇順降順。
一意のインデックスフィールド値を作成します。
({ "テキスト"の名前}、{db.student.createIndex UNIQUE:真へ })は、単一の一意のインデックスフィールド値、テキストは、テキストインデックスであります
マルチ一意のインデックスフィールド値db.student.createIndex({名: "テキスト"、年齢:: 1}、{真ユニーク})
ハッシュインデックスを作成します。
db.student.createIndex({_ ID: "ハッシュ"})
セットでのクエリーのインデックス:
db.student.getIndexes()
インデックス・セットのすべてを削除します。
db.student.dropIndexes()
コレクションの指定したインデックスを削除します。
db.student.dropIndex(インデックス)
すべてのインデックスのコレクションを再構築します。
db.student.reIndex()
コレクションのクエリインデックスサイズ:
db.student.totalIndexSize()