Github Copirot 用のMongoDB拡張機能 を使用して、クエリ ドキュメントと集計パイプラインを プレイグラウンドからプログラミング言語にエクスポートして変換できます。クエリとパイプラインは次の言語にエクスポートできます。
C#
Go
Java
Node.js
PHP
Python
Ruby
Rust
前提条件
Export to Language 機能を使用するには、 Github Copiloy 用のMongoDB拡張機能を有効にする必要があります。
エクスポートするクエリ ドキュメントまたはパイプラインを含むプレイグラウンドを開く必要があります。
このページのチュートリアルでは、デフォルトのプレイグラウンド テンプレートを使用します。
注意
Github Copirot 用のMongoDB拡張機能 を使用して、新しいプレイグラウンドを開いてクエリをテストおよびエクスポートすることもできます。詳細については、「 Copiot を使用したクエリのエクスポートとテスト 」を参照してください。
デフォルトのテンプレートを含む新しいプレイグラウンドを開くには:
「Create MongoDB Playground」コマンドを検索して実行します。
コマンドを検索するには、 Command Palette検索バーを使用します。 VS Code 拡張機能に関連するすべてのコマンドの前にはMongoDB:が付きます。
MongoDB: Create MongoDB Playgroundコマンドを実行すると、VS Code 拡張機能によっていくつかのコマンドが事前構成されたデフォルトのプレイグラウンド テンプレートが開きます。
注意
テンプレートなしで新しいプレイグラウンドを読み込むには、 Use Default Template For Playground設定を無効にします。 VS Code 拡張設定の詳細については、「 Visual Studio Code の設定 」を参照してください。
クエリドキュメントのエクスポート
クエリドキュメントをエクスポートするには、次の手順に従います。
選択内容をエクスポートします。
プレイグラウンド ツールバーの [Select Target for Export to Language] ボタンをクリックします。エクスポート ボタンは、Play ボタンの左側にあります。
コンテキスト メニューで、エクスポートする言語の選択します。 VS Code 拡張機能では、選択した言語で強調表示されたコードを含む新しい VS Code ウィンドウが開きます。
たとえば、クエリ ドキュメントをステップ 1 から Java にエクスポートすると、次のコードが生成されます。
new Document("date", new Document("$gte", new java.util.Date(1396569600000L)) .append("$lt", new java.util.Date(1396656000000L)))
エクスポート オプションの構成
エクスポートされるコードに、インポート ステートメント、ドライバー構文、またはその両方を含めるかどうかを選択できます。
エクスポートされたコードを含む新しく開かれた VS Code ウィンドウの上部で、 Import StatementsとDriver Syntaxのトグルを使用してこれらのオプションを制御します。
上記の Java コードにインポート ステートメントとドライバー構文の両方を含めると、次の出力が得られます。
import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; import java.util.concurrent.TimeUnit; import org.bson.Document; /* * Requires the MongoDB Java Driver. * https://mongodb.github.io/mongo-java-driver */ MongoClient mongoClient = new MongoClient( new MongoClientURI( "mongodb://localhost:27017/?readPreference=primary&appname=mongodb-vscode+0.7.0&directConnection=true&ssl=false" ) ); MongoDatabase database = mongoClient.getDatabase("mongodbVSCodePlaygroundDB"); MongoCollection<Document> collection = database.getCollection("sales"); FindIterable<Document> result = collection.aggregate(new Document("date", new Document("$gte", new java.util.Date(1396569600000L)) .append("$lt", new java.util.Date(1396656000000L))));
注意
エクスポート オプションは、選択したエクスポート言語によって異なります。
集計パイプラインのエクスポート
集計パイプラインをエクスポートするには、次の手順に従います。
選択内容をエクスポートします。
プレイグラウンド ツールバーの [Select Target for Export to Language] ボタンをクリックします。エクスポート ボタンは、Play ボタンの左側にあります。
コンテキスト メニューで、エクスポートする言語の選択します。 VS Code 拡張機能では、選択した言語で強調表示されたコードを含む新しい VS Code ウィンドウが開きます。
たとえば、パイプラインをステップ 1 から Java にエクスポートすると、次のコードが生成されます。
Arrays.asList(new Document("$match", new Document("date", new Document("$gte", new java.util.Date(1388534400000L)) .append("$lt", new java.util.Date(1420070400000L)))), new Document("$group", new Document("_id", "$item") .append("totalSaleAmount", new Document("$sum", new Document("$multiply", Arrays.asList("$price", "$quantity"))))))
エクスポート オプションの構成
エクスポートされるコードに、インポート ステートメント、ドライバー構文、またはその両方を含めるかどうかを選択できます。
エクスポートされたコードを含む新しく開かれた VS Code ウィンドウの上部で、 Import StatementsとDriver Syntaxのトグルを使用してこれらのオプションを制御します。
上記の Java コードにインポート ステートメントとドライバー構文の両方を含めると、次の出力が得られます。
import java.util.Arrays; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; import java.util.concurrent.TimeUnit; import org.bson.Document; /* * Requires the MongoDB Java Driver. * https://mongodb.github.io/mongo-java-driver */ MongoClient mongoClient = new MongoClient( new MongoClientURI( "mongodb://localhost:27017/?readPreference=primary&appname=mongodb-vscode+0.7.0&directConnection=true&ssl=false" ) ); MongoDatabase database = mongoClient.getDatabase("mongodbVSCodePlaygroundDB"); MongoCollection<Document> collection = database.getCollection("sales"); FindIterable<Document> result = collection.aggregate(Arrays.asList(new Document("$match", new Document("date", new Document("$gte", new java.util.Date(1388534400000L)) .append("$lt", new java.util.Date(1420070400000L)))), new Document("$group", new Document("_id", "$item") .append("totalSaleAmount", new Document("$sum", new Document("$multiply", Arrays.asList("$price", "$quantity")))))));
注意
エクスポート オプションは、選択したエクスポート言語によって異なります。