MongoDB for IntelliJ プラグインは現在パブリック プレビュー段階です。
定義
MongoDB for IntelliJ プラグインは、アプリケーションクエリがインデックスを使用しているかどうかを調べます。クエリがインデックスを使用していない場合、 またはインデックスによって部分的にしかカバーされていない場合、プラグインはそのクエリに対して警告を表示します。
警告を解決するには、クエリのインデックスを作成することを検討してください。
インデックスを追加する前に、次の点を考慮してください。
クエリは、読み取りを高速化するために書込みパフォーマンスを低下させるのに十分な頻度で実行されます。
クエリを変更して、既存のインデックスを使用できます。
インデックスの警告を無効にすることもできます。
インデックスの詳細については、インデックスを参照してください。
例
次のJavaコード スニペットの例では、awards
ドキュメントフィールドがクエリで使用されていますが、そのフィールドはデータベースでインデックスされていません。
client.getDatabase( "sample_mflix" ).getCollection( "movies" ).find( Filters.ne( "awards", "Comedy" ) )
サイド パネルの Performance Warnings の下に次の警告が表示されます。

インデックスの作成
クエリのインデックスを作成するには
1
サイド パネルの警告に表示される [ Create an Index(インデックスの作成) ] ボタンをクリックします。
プラグインには、インデックスを作成するためのテンプレート コードを持つ Database Explorer Playgrounds 画面が表示されます。
// region Queries covered by this index // alt.mongodb.javadriver.JavaDriverRepository#getRatings at line 32 // endregion // Learn about creating an index: https://www.mongodb.com/ja-jp/docs/v7.0/core/data-model-operations/#indexes db.getSiblingDB("sample_mflix").getCollection("movies") .createIndex({ "awards": 1 })
2
プライマリフィールドにインデックスを作成します。
例コードで <your_field_1>
を awards
に設定し、Database Explorer Playgrounds 画面で createIndex()
メソッドを実行します。(例: )。
db.getSiblingDB("sample_database").getCollection("movies"). createIndex({"awards": 1})