DBAtlas · データベース運用アトラス

86 IndexKeySpecsConflict: IndexKeySpecsConflict

MongoDB

意味

作成しようとしているインデックスが既存のインデックスと同じキー指定 (同じフィールド/順序) を持つが、オプションまたは名前が異なる。MongoDB は同じキーで競合する 2 つのインデックス定義を許可しない。

原因

同じフィールドに、異なる名前または異なるオプション (例: 異なる collation、partialFilterExpression、unique の設定) で 2 つ目のインデックスを作成しようとした。通常、マイグレーション/コードでインデックス定義を変更して再実行した場合に発生する。

対処方法

既存のインデックスを調べる: db.collection.getIndexes() 同じキーを持つ競合インデックスを特定する。目的のオプションに切り替えるには、先に古いインデックスを削除し (dropIndex)、新しい定義で再作成する。名前だけが異なる場合は既存のインデックスをそのまま使用し、不要な 2 つ目の定義を作成しない。

DBAtlas で開く →

同じデータベースの他の項目