Docs Menu

Docs Homeアプリケーションの開発Python ドライバーPyMongo

Unique Indexes

項目一覧

  • Overview
  • サンプル データ
  • ユニークインデックスの作成
  • トラブルシューティング
  • DuplicateKeyException

一意なインデックス により、インデックス フィールドに重複する値が保存されなくなります。 デフォルトでは、MongoDB はコレクションの作成中に _idフィールドに一意のインデックスを作成します。 一意のインデックスを作成するには、次の手順を実行します。

  • 重複を防ぐフィールドまたはフィールドの組み合わせを指定します。

  • uniqueオプションを ``True`` に設定します。

このガイドの例では、 Atlas サンプル データセットsample_mflix.theatersコレクションを使用します。 MongoDB Atlas クラスターを無料で作成して、サンプル データセットをロードする方法については、 PyMongo を使い始める を参照してください。

次の例では、 theaterIdフィールドに降順の一意のインデックスを作成しています。

theaters.create_index("theaterId", unique=True)

詳細については、MongoDB Server マニュアルの 「 一意なインデックス 」 のガイドを参照してください。

一意なインデックスに違反する重複値を保存する書込み操作を実行すると、ドライバーはDuplicateKeyExceptionを発生させ、MongoDB は次のようなエラーを返します。

E11000 duplicate key error index
← 地理空間インデックス