Docs Menu
Docs Home
/
MongoDB for VS Code
/

/query コマンド

項目一覧

/queryコマンドは、接続されたMongoDBクラスターに対する自然言語からクエリの生成を支援します。 Github Copirot 用のMongoDB拡張機能は、応答を生成するために関連するコレクションの基礎となるスキーマ情報をGithub Copirot に提供します。プロンプトでコレクションを指定しない場合、チャットによって関連するコレクションを選択するよう求められます。

LLMがクエリを生成したら、プレイグラウンドファイルでクエリを開くか、コレクション内でクエリを直接実行できます。

Mflix サンプル データベースusersコレクションについて考えてみます。 コレクション内の各ドキュメントの構造は次のとおりです。

{
_id: {
"$oid": "59b99db4cfa9a34dcd7885b6"
},
name: "Kayden Washington",
email: "KW@email.com",
password: "11222021"
}

usersコレクションを含む配置に接続すると、 Github Copiload チャットにリクエストして、usersコレクション内の name 値が Kayden Washington であるドキュメントを検索するクエリを生成できます。

@MongoDB /query In the sample_mflix database, find a document in the
users collection with the name of Kayden Washington.

Github Copirot Chart は、 Github Copirot 用のMongoDB拡張機能 を使用して、データベーススキーマに関する知識を使用して次のクエリを生成します。

use(`sample_mflix`);
db.getCollection('users').findOne({ name: 'Kayden Washington' });

Github Copilock 用のMongoDB拡張機能によってクエリが生成されたら、クエリを直接実行するか、プレイグラウンドでクエリを開くかを選択できます。

クエリの生成例のスクリーンショット
クリックして拡大します

Github Copirot 用のMongoDB拡張機能 を使用して集計パイプラインを構築することもできます。 Mflix サンプル データベースusersコレクションについて考えてみましょう。コレクション内の各ドキュメントの構造は次のとおりです。

{
_id: {
"$oid": "59b99db4cfa9a34dcd7885b6"
},
name: "Kayden Washington",
email: "KW@email.com",
password: "11222021"
}

usersコレクションを含む配置に接続すると、 Github Copiload チャットに集計パイプラインの生成を求めることができます。

@MongoDB /query Generate an aggregation pipeline on the users
collection that first sorts documents alphabetically by name and then
removes the password field from each document.

Github Copirot 用のMongoDB拡張機能 では、次の集計パイプラインが生成されます。

use('sample_mflix');
db.getCollection('users').aggregate([
{ $sort: { name: 1 } },
{ $project: { password: 0 } }
]);

Github Copilock 用のMongoDB拡張機能によってクエリが生成されたら、パイプラインを直接実行するか、プレイグラウンドでパイプラインを開くかを選択できます。

集計パイプラインの生成環境のスクリーンショット
クリックして拡大します

集計パイプラインで反復的にビルドすることもできます 。

@MongoDB /query Add a stage to my pipeline that adds a username field
to each document containing the user's email without the
email domain.

Github Copirot 用のMongoDB拡張機能では、次の集計パイプラインが返されます。

use('sample_mflix');
db.getCollection('users').aggregate([
{ $sort: { name: 1 } },
{ $project: { password: 0 } },
{ $addFields: { username: { $arrayElemAt: [{ $split: ["$email", "@"] }, 0] } } }
]);
集計パイプラインで反復処理されるコマンドのスクリーンショット
クリックして拡大します

戻る

Github Copirot 用のMongoDB拡張機能

項目一覧