dropIndex() (インデックスの削除)
最終更新:2026-10-09
dropIndex() (インデックスの削除)
dropIndex() は特定のインデックスを削除し、名前またはキーを受け取ります。例: `db.users.dropIndex('age_1')`。インデックスを削除すると、依存するクエリは即座にコレクションスキャンに劣化するため、本番で削除する前にまだ誰も使っていないことを確認してください。_id インデックスは削除できません。
| カテゴリ | インデックスと管理 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.<collection>.dropIndex(<indexNameOrKey>)
⚙️ パラメータ
| インデックス名またはキー | インデックス名(例: 'age_1')またはキー定義(例: {age: 1})。 |
|---|
戻り値:結果情報オブジェクト(ok ステータス付き)。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// dropIndex: age インデックスをキーで削除する
db.users.dropIndex({ age: 1 })
出力:
{ ok: 1 }
📌 注意事項
- 引数はインデックス名でもキーでもよい
- _id インデックスは削除できない
- それに依存していたクエリは以後、顕著に劣化する
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
QdropIndex には名前とキーのどちらを渡すべきですか?
Aどちらでも動作します。db.users.dropIndex('age_1') でも db.users.dropIndex({age: 1}) でも構いません。
Q間違ったインデックスを削除したら?
AcreateIndex() で再作成します。削除前に getIndexes() でインデックスを一覧確認してください。
QdropIndex で _id インデックスを削除できますか?
Aできません。_id インデックスはシステム管理で、削除できません。