MongoDB Indexについて

  • このエントリーをはてなブックマークに追加
  • Pocket

MongoDBのインデックスの種類と追加方法などについてのまとめ。

MongoDBのインデックスの種類

  • ユニークインデックス
  • スパースインデックス
  • マルチキーインデックス

ユニークインデックス

概要

重複なしのドキュメントのインデックスを生成する。

インデックスの付け方

既存コレクションへインデックスを付ける場合

重複データがすでに存在している場合にインデックスを作成するとエラーになる。 この場合には、以下の修正が必要

  • この場合には手動で重複データを修正
  • オプションで重複データを自動的に削除

重複データを自動的に削除 (dropDups: true) ただし、どのキーが残されるかは指定できない。

ex..

usersコレクションへデータ挿入

ユニークインデックス生成しようとするとエラー

重複を自動的に消すインデックスを生成

インデックスを生成したあとに重複データ挿入

インデックスがnullのデータを2回挿入

スパースインデックス

スパースインデックスの概要

Nullの場合インデックスを作成しないことを可能にする。

作成方法

この場合、title5の本だけインデックスが貼られない。

ユニークキーと組み合わせた場合

一度booksコレクションを全部消す

ユニークインデックス付きのスパースインデックス ここでは同じisbnを持った本は登録できない例

ユニークキーがnullの場合は複数登録できる

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*