您可以使用 MongoDB Compass 来生成使用自然语言的聚合查询。 Compass 使用 AI 根据您提供的提示生成聚合。 使用自然语言查询可以作为一个有用的起点,帮助您学习编写 MongoDB 查询。
注意
当您在 Compass 中使用自然语言查询数据时,提示文本和有关 MongoDB 模式的详细信息会发送到 Microsoft 和 OpenAI 进行处理。您的数据不会存储在任何第三方存储系统上,也不会用于训练 AI 模型。
该软件可以使用生成式人工智能。这是一项试验性功能,可能会给出不准确的结果。使用该软件时须遵守 MongoDB 的规定:
选择 Aggregations 标签页。
单击 Generate aggregation 按钮。
随后会显示 Natural Language Query Bar(自然语言查询栏)。
在查询栏中键入您的collection的自然语言提示。聚合管道提示通常具有聚合动词,例如带有逻辑条件的计数、平均值或总和。 例如: How many movies have more than 3 writers
in the writers array?
按 Enter 或者单击 Generate aggregation 按钮。
聚合管道会在Pipeline栏中填充。 您可以向下滚动以查看每个阶段的语法。
在运行查询之前,请确保彻底检查每个阶段的语法。 确保返回的管道包含与所需用例匹配的字段和阶段。
警告
某些聚合操作符(如 $merge
和 $out
)可以修改集合的数据。
如聚合管道包含可以修改集合数据的操作符,则在执行管道之前会提示您确认。
按 Enter 或单击Run按钮以执行管道。
结果将填充在聚合视图中。
提示
您可以选择通过 Natural Language Query Bar(自然语言查询栏)单击 或 图标以提供反馈,并提供有关您的体验的详细信息。
您的反馈不会用来训练任何 AI 模型。
以下提示示例可帮助您了解使用自然语言提示进行聚合时的预期结果。
| |
---|
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 } | } | } | ] |
|