技術共有

Mongodbインデックスの削除

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

mongodb を学び、mongodb の使用法を詳細に体験してください。Weizan の記事を読んでください。これは Wezan が公開する 87 番目の mongodb 技術記事です。このコラムで Wezan が公開する他の記事もご覧ください。私の記事が役に立った、または問題が解決したと思われる場合は、記事の下に「いいね!」をするか、Wezan をフォローしてください。ありがとう。

Mongodb のインデックスにより、ほとんどの場合、コレクションのデータ クエリ効率が向上します。ただし、クエリ フィールドに複数のインデックスがあると、Mongodb が間違ったインデックスを選択する可能性があり、クエリの効率に悪影響を及ぼします。同時に、データベース管理者は、インデックスの使用状況を定期的にチェックし、未使用のインデックスをクリーンアップする必要もあります。データの挿入と更新への影響を軽減します。インデックスの作成時に間違った名前を入力した場合、またはインデックスの名前を変更した場合は、インデックスを削除する必要もあります。

この記事では公式ドキュメントをまとめてMongodbインデックスの削除について紹介します。

インデックスを削除する方法

インデックスを削除する

db.collection.dropIndex()

複数のインデックスを削除する

db.collection.dropIndexes()

ユーザーがインデックス名の配列を指定しない場合、_id フィールドを除くすべてのインデックスが削除されます。ユーザーがインデックス名配列を指定した場合、ユーザーが指定した配列名に従って配列を削除します。

予防

  • ユーザーが _id フィールド インデックスを削除したい場合は、コレクションを削除する必要があります。
  • ユーザーがインデックスを削除すると、アプリケーションのクエリのパフォーマンスに影響が出る可能性があります。したがって、Mongodb では、まずインデックスを非表示にし、アプリケーションに重大な影響を与えないと判断された場合にインデックスを削除することをお勧めします。

応用

getIndexes() メソッドを使用してインデックス名を取得します。

db.collection.getIndexes()

単一のインデックスを削除する

db.collection.dropIndex("<indexName>")

複数のインデックスを削除する

db.collection.dropIndexes(["<indexName1>","<indexName1>",...])

_id インデックス以外のインデックスを削除する

db.collection.dropIndexes()

削除後、getIndexes() を使用してインデックスを表示します。

db.collection.getIndexes()