定義
MongoDB for IntelliJ プラグインを使用すると、 Javaで記述されたクエリを Database Explorer Playgrounds で直接実行できます。
[実行] アイコンがMongoDBクエリの横に表示されます。
![[ 実行 ] アイコンをクリックして、 Javaクエリをmongosh構文に変換します。](/ja-jp/docs/mongodb-intellij/static/3a7007867398a1ffb0be5e8a65b32129/78ac7/intellij-run-icon.webp)
動作
[実行] アイコンをクリックすると、プラグインはJavaクエリを mongosh
構文に自動的に変換し、入力されたクエリを含む Playgroundファイルを開きます。
実行時に決定される変数であるフィールド値の場合、プラグインはプレースホルダー変数を作成します。 このプレースホルダーにテスト値を入力し、プレイグラウンドでクエリを実行できます。
制限
IntelliJ プラグインは、次のJavaおよびspring クエリのサイド パネルにインサイトを生成しません。
MongoDB Javaドライバーによって公開されるBSONビルダを使用しないクエリまたは集計。これには、次のコンストラクターを使用して記述されたクエリと集計の一部が含まれます。
ドキュメント
基本DBObjects
基本DBLists
基本DBObjectBuilder
MongoDB Javaドライバーが提供するサポートされていないBSONビルダ メソッドを使用するクエリ。IntelliJ プラグインによるインサイトの生成に使用できるJavaドライバー メソッドのリストについては、インサイトを生成するための Javaドライバー メソッド を参照してください。
spring Data MongoDBが提供するサポートされていないメソッドを使用するクエリ。IntelliJ プラグインによってインサイトを生成するために使用できるspring Data メソッドのリストについては、「 インサイトを生成するためのspring Criteria メソッド 」を参照してください。
例
この例では、production.trips
コレクションに対するJavaクエリは次のようになります。
public List<Document> findCompletedTripsByDriver(String driverId) { return trips.find(Filters.and( Filters.eq(fieldName: "trip_status", value: "completed"), Filters.eq(fieldName: "driver_id", driverId) )).into(new ArrayList<>()); }
次のコード例は、上記のJavaコードから変換されたクエリを示しています。
var driver_id = "<driver ID>" db.getSiblingsDB("production") .getCollection("trips") .find({ "$and" : [ { "trip_status" : "completed" }, { "driver_id" : driver_id } ], })
この例では 、driver_id
は実行時に決定された値を保持する変数です。 クエリが期待どおりの結果を出力するかどうかをテストするには、<driver ID>
をドライバーIDに置き換えてテスト値を指定する必要があります。 例、driver_id = "1a2b3c4d5e"
。
クエリが満足のいくものであれば、プレイグラウンドで実行し、クエリ結果を表示できます。
![[ 実行 ] をクリックしてクエリを実行し、結果を表示します。](/ja-jp/docs/mongodb-intellij/static/cdf0b26888ec874e5951fe0d212de5b5/7c466/intellij-pg-icon-converted-query.webp)