Docs 菜单
Docs 主页
/
MongoDB for VS Code
/

/ 查询命令

在此页面上

  • 示例

/query命令有助于从自然语言生成针对已连接MongoDB 集群的查询。适用于 GitHub Copilot 的MongoDB扩展向Github Copilot 提供相关集合的根本的模式信息,以生成响应。如果您未在提示中指定集合,聊天会提示您选择相关集合。

当 LLM 生成查询时,您可以在 Playground文件中打开查询,也可以直接在集合中运行查询。

Mflix 样本数据库中的users集合为例。 集合中的每个文档都具有以下结构:

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

连接到包含 users集合的部署后,您可以要求Github Copilot 聊天生成查询,在 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 Copilot 聊天使用适用于Github Copilot 的MongoDB扩展,根据您的数据库模式生成以下查询:

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

一旦适用于Github Copilot 的MongoDB扩展生成查询,您可以选择直接运行查询或在 Playground 中打开查询。

copilot 生成查询的屏幕截图
点击放大

您还可以使用适用于Github Copilot 的MongoDB扩展来构建聚合管道。以Mflix 样本数据库中的users集合为例。集合中的每个文档都具有以下结构:

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

连接到包含 users集合的部署后,您可以要求Github Copilot 聊天生成聚合管道。

@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 Copilot 的MongoDB扩展可生成以下聚合管道:

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

一旦MongoDB Extension for Github Copilot 生成查询,您可以选择直接运行管道或在 Playground 中打开管道。

copilot 生成聚合管道的屏幕截图
点击放大

您还可以在聚合管道的基础上进行迭代构建:

@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 Copilot 的MongoDB扩展会返回以下聚合管道:

use('sample_mflix');
db.getCollection('users').aggregate([
{ $sort: { name: 1 } },
{ $project: { password: 0 } },
{ $addFields: { username: { $arrayElemAt: [{ $split: ["$email", "@"] }, 0] } } }
]);
在聚合管道上以迭代方式构建 copilot 的屏幕截图
点击放大

后退

适用于Github Copilot 的MongoDB扩展

在此页面上