Unique Indexes
Overview
一意なインデックス により、インデックス フィールドに重複する値が保存されなくなります。 デフォルトでは、MongoDB はコレクションの作成中に _id
フィールドに一意のインデックスを作成します。 一意のインデックスを作成するには、次の手順を実行します。
重複を防ぐフィールドまたはフィールドの組み合わせを指定します。
unique
オプションを ``True`` に設定します。
サンプル データ
このガイドの例では、 Atlas サンプル データセットのsample_mflix.theaters
コレクションを使用します。 無料の MongoDB Atlas クラスターを作成し、サンプル データセットをロードする方法については、 PyMongo を使い始める を参照してください。
ユニークインデックスの作成
次の例では、 theaterId
フィールドに降順の一意のインデックスを作成しています。
theaters.create_index("theaterId", unique=True)
トラブルシューティング
DuplicateKeyException
一意なインデックスに違反する重複値を保存する書込み操作を実行すると、ドライバーはDuplicateKeyException
を発生させ、MongoDB は次のようなエラーを返します。
E11000 duplicate key error index