Docs 菜单
Docs 主页
/
MongoDB Compass
/ /

提示自然语言聚合

在此页面上

  • 关于此任务
  • 开始之前
  • 步骤
  • 示例
  • 后续步骤
  • 了解详情

您可以使用 MongoDB Compass 来生成使用自然语言的聚合查询。 Compass 使用 AI 根据您提供的提示生成聚合。 使用自然语言查询可以作为一个有用的起点,帮助您学习编写 MongoDB 查询。

注意

当您在 Compass 中使用自然语言查询数据时,提示文本和有关 MongoDB 模式的详细信息会发送到 Microsoft 和 OpenAI 进行处理。您的数据不会存储在任何第三方存储系统上,也不会用于训练 AI 模型。

该软件可以使用生成式人工智能。这是一项试验性功能,可能会给出不准确的结果。使用该软件时须遵守 MongoDB 的规定:

  • 使用条款

  • 可接受使用策略

  • 隐私政策

  • 您还可以在文档标签页上提供自然语言提示。

  • 此页面使用 Atlas 示例数据集中的 sample_mflix.movies 集合。

  • 预测 Compass AI 返回的查询或管道的复杂性可能很困难。 您可能需要调整 MAX TIME MS查询栏选项,以允许更长的查询处理时间或防止长时间运行查询。 有关详细信息,请参阅调整查询操作的最长时间。

您必须在 Compass 中启用自然语言查询

1
  1. 选择 Aggregations 标签页。

  2. 单击 Generate aggregation 按钮。

随后会显示 Natural Language Query Bar(自然语言查询栏)。

2

在查询栏中键入您的collection的自然语言提示。聚合管道提示通常具有聚合动词,例如带有逻辑条件的计数、平均值或总和。 例如: How many movies have more than 3 writers in the writers array?

  1. 按 Enter 或者单击 Generate aggregation 按钮。

  2. 聚合管道会在Pipeline栏中填充。 您可以向下滚动以查看每个阶段的语法。

3
  1. 在运行查询之前,请确保彻底检查每个阶段的语法。 确保返回的管道包含与所需用例匹配的字段和阶段。

    警告

    某些聚合操作符(如 $merge$out )可以修改集合的数据。

    如聚合管道包含可以修改集合数据的操作符,则在执行管道之前会提示您确认。

  2. 按 Enter 或单击Run按钮以执行管道。

结果将填充在聚合视图中。

提示

您可以选择通过 Natural Language Query Bar(自然语言查询栏)单击 图标以提供反馈,并提供有关您的体验的详细信息。

您的反馈不会用来训练任何 AI 模型。

以下提示示例可帮助您了解使用自然语言提示进行聚合时的预期结果。

Prompt
响应

Count the movies that have a release year of 1999

[
{
$match: {
year: 1999
},
},
{
$count: "total_movies",
}
]

Which comedy genre movie has the most awards?

[
{
$match: {
genres: "Comedy"
}
},
{
$sort: {
"awards.wins": -1,
"awards.nominations": -1
}
},
{
$limit: 1
},
{
$project: {
_id: 0,
title: 1,
"awards.wins": 1,
"awards.nominations": 1
}
}
]

How many movies have a imdb.rating > 4?

[
{
$match: {
"imdb.rating": { $gt: 4 }
}
},
{
$group: {
_id: null,
count: { $sum: 1 }
}
}
]

提示自然语言查询

使用自然语言进行查询

后退

提示查询