MongoDBのインデックス2024 年の最新の入門チュートリアル。このコースでは ensureIndex()メソッド, について学習できます。
インデックスは、データの読み出しは、コレクション内の各ファイルをスキャンして、クエリ条件に一致するレコードを選択しなければならないというインデックス、MongoDBは存在しない場合、大幅にクエリの効率を向上することが通常可能です。
このスキャン全体のコレクションクエリの効率は、このサイトのパフォーマンスは非常に致命的である大量のデータを扱う場合は特に、クエリは秒あるいは数十分かかることがあり、非常に低いです。
インデックスは特別なデータ構造で、インデックスが読みやすいトラバーサルのデータセットに格納され、インデックス値は、ソートするデータベーステーブルまたは列の構造であります
MongoDBはインデックスを作成するensureIndex()メソッドを使用しています。
ensureIndex()メソッドの基本的な構文は次のとおりです。
>db.COLLECTION_NAME.ensureIndex({KEY:1})
文法キーインデックスフィールド値は指定されたあなたが-1に指定することができますインデックスを作成する場合は降順、昇順を作成するためのインデックスを作成したいです。
>db.col.ensureIndex({"title":1}) >
ensureIndex()メソッドは、あなたも(リレーショナルデータベースは複合インデックスと呼ばれる)のインデックスを作成するために、複数のフィールドを使用するように設定することができます。
>db.col.ensureIndex({"title":1,"description":-1}) >
ensureIndex()はオプションのパラメータを受け取り、オプションのパラメータは次のとおりです。
パラメーター | タイプ | 説明 |
---|---|---|
背景 | ブーリアン | インデックス作成プロセスは、他のデータベース操作をブロックする背景には、後段のシステム、「背景」オプションのパラメータの増加を指定することができますインデックスを作成します。 「背景」のデフォルト値はfalseです。 |
ユニーク | ブーリアン | インデックスがユニークです。 trueに一意のインデックスを作成するように指定します。 デフォルト値はfalseです。 |
名前 | 文字列 | 索引の名前。 インデックスフィールド名とインデックス名を生成するソート順を接続することにより、MongoDBのを指定しない場合。 |
dropDups | ブーリアン | あなたは一意のインデックスを作成するときに重複したレコードを削除し、一意のインデックスを作成するためにtrueを指定します。 デフォルト値はfalseです。 |
まばらな | ブーリアン | フィールドデータがインデックスを有効にしていない文書に存在しないために、trueに設定している場合、このパラメータは、特別な注意が必要で、その後、インデックスフィールドには、対応するフィールドが含まれていない文書を照会しませんja デフォルト値はfalseです。 |
expireAfterSeconds | 整数 | コレクションの生存時間を設定し、TTL設定を完了するためにユニットの値を秒単位で指定します。 |
V | インデックスのバージョン | インデックスのバージョン番号。 mongodは、インデックスのバージョンを作成するときに、インデックスのデフォルトのバージョンは、実行に依存します。 |
ウェイト | ドキュメント | 指数の重みは、1〜99,999の間の値は、インデックスの重量に対して別のインデックスフィールドを獲得する権利を表します。 |
DEFAULT_LANGUAGE | 文字列 | テキスト索引の場合、このパラメータはストップワードを決定し、ルールや単語リストをステミング。 デフォルトは英語です |
language_override | 文字列 | 文書に含まれるフィールド名を指定するテキストのインデックスについては、言語がデフォルト言語をオーバーライドし、デフォルト値は言語です。 |
バックグラウンドでインデックスを作成します。
db.values.ensureIndex({open: 1, close: 1}, {background: true})
インデックス作成時に背景を追加することによって:trueオプションを、バックグラウンドで仕事を作成することができます