67 CannotCreateIndex: Cannot create index(インデックスを作成できない)
MongoDB意味
制約または上限によりインデックスの構築が失敗した。既存のデータまたは構成のため、MongoDB は要求されたインデックスを構築できなかった。
原因
コレクションあたりの最大インデックス数 (64) の超過、大きすぎるキー、または互換性のないオプションの組合せ (例: TTL インデックスに不適切なフィールド型)。注: 既存データに重複がある状態で一意インデックスを構築すると、このコードではなく E11000 DuplicateKey が発生する。
対処方法
インデックス数の上限に達した場合は、未使用のインデックスを削除する ($indexStats で使用状況を分析)。キーのサイズ/型の互換性とオプションの組合せを確認する。大きなコレクションでは低負荷時にインデックスを構築する (4.2 以降、インデックス構築は書き込みを長時間ブロックしない。background オプションは無視される)。
同じデータベースの他の項目
- 48 NamespaceExistsNamespace (collection) already exists(名前空間 (コレクション) が既に存在する)
- 11601 InterruptedOperation was interrupted(操作が中断された)
- 85 IndexOptionsConflictIndex already exists with different options / different name(異なるオプション/名前のインデックスが既に存在する)
- 27 IndexNotFoundIndex not found(インデックスが見つからない)
- 79 UnknownReplWriteConcernUnknown replica set write concern(不明なレプリカセット write concern)
- 10107 NotWritablePrimarynot master / not writable primary(マスターではない / 書き込み可能なプライマリではない)
- 91 ShutdownInProgressThe server is in the process of shutting down(サーバーはシャットダウン処理中)