Docs 菜单
Docs 主页
/
MongoDB Compass

创建聚合管道

在此页面上

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

MongoDB Compass 中的聚合管道构建器可帮助您创建 聚合管道,以处理来自集合或视图的文档,并返回计算结果。

MongoDB Compass 提供了创建聚合管道的不同模式:

  • 阶段视图模式,这是一种可视化管道编辑器,可以根据所选阶段预加载管道语法。

  • 阶段向导,这是阶段视图模式的一项功能,可以为简单聚合阶段使用案例提供一组模板。阶段向导仅包含简单的使用案例,可以帮助您开始使用聚合管道。

  • 焦点模式,是阶段视图模式的一项功能,可以一次编辑一个管道阶段。焦点模式可帮助您管理复杂或深度嵌套的聚合分析管道阶段。

  • 文本视图模式,这是一种基于文本的管道编辑器,可以接受原始管道语法。

要构建聚合管道,请选择一个集合并单击 Aggregations(聚合)标签页。Compass 显示空白聚合管道。Preview of Documents in the Collection(集合文档预览)部分显示从所选集合中随机抽取样本的 10 个文档。

注意

Atlas Search 阶段

将 Compass 连接到 Atlas 上托管的 MongoDB 部署时,聚合管道构建器中会出现额外的 Atlas 专属阶段:$search$searchMeta。使用这些阶段对 Atlas 集合执行全文搜索

要查看如何创建聚合管道,请选择与所选视图模式相对应的标签页:

1

在聚合管道窗格中,确保选择 {} Stages 切换开关。

切换阶段视图模式
点击放大
2

在聚合管道窗格的底部,点击 + Add Stage 按钮。

3

在聚合阶段卡片的左上角,点击 Select 下拉菜单,然后选择用于管道第一阶段的聚合管道阶段

4

填写您选择的阶段。您可以通过向右拖动管道阶段的边框来调整其宽度。

注意

每个管道阶段名称右侧的切换指示该阶段是否包含在管道中。切换管道阶段还会更新管道预览,该预览根据是否包含该阶段进行更新。

例如,以下管道排除第一个 $match 阶段,并且仅包含 $project 阶段:

聚合构建器排除阶段示例
5

要在最后聚合阶段之后添加额外的管道阶段,则点击 Add Stage。要在最近添加的阶段之前添加聚合阶段,则点击阶段卡上方的 + 图标。

每增加一个阶段,都要重复步骤 3 和 4。

注意

您可以通过拖动每个阶段卡的标头更改管道阶段的顺序。

6

在管道构建器的右上角,点击 Run。Compass 会在文档视图中返回您的结果。

1

在聚合管道窗格中,确保选择 {} Stages 切换开关。

切换阶段视图模式
点击放大
2

在视图模式切换按钮的右侧,单击滑动条图标以打开Stage Wizard卡片)卡。

单击视图模式切换开关右侧的图标。
点击放大
3

Stage Wizard卡上,您可以通过搜索与使用案例或聚合阶段相关的关键字来过滤使用案例。

4

Stage Wizard卡片上,为管道的第一阶段选择一个使用案例。您可以单击阶段卡将其添加到管道的末尾,或将其拖动到首选位置。

选择使用案例后,Compass 将使用与所选聚合管道阶段相对应的表单填充阶段卡。

阶段向导使用案例包括以下聚合阶段:

5

填写所选阶段的表格,然后单击Apply 。 单击Apply后,表单将变成一张阶段卡片,您可以在阶段视图模式、焦点模式或文本视图模式下编辑该卡片。

Compass 使用最多十个样本输出文档填充阶段输出。

注意

您无法通过阶段向导编辑现有阶段。 阶段向导只能添加新阶段。 要编辑现有阶段,请使用阶段视图模式、焦点模式或文本视图模式。

6

要向管道添加更多聚合阶段,请为每个其他阶段重复步骤 3 和 4。

提示

您可以通过拖动每个阶段卡的标头更改管道阶段的顺序。

7

在管道构建器的右上角,点击 Run。Compass 会在文档视图中返回您的结果。

1

在聚合管道窗格中,确保选择 {} Stages 切换开关。

切换阶段视图模式
点击放大
2

如果尚未创建聚合阶段,请单击聚合管道窗格底部的+ Add Stage按钮。

3

在阶段卡的右上角,单击“焦点模式”图标。

选择焦点模式按钮
4

单击 Select 下拉菜单,选择用于管道第一阶段的聚合管道阶段

5

填写您选择的阶段。Compass 使用最多 10 个示例输出文档填充 Stage Output

您可以通过拖动边框至所需大小来调整Stage Input 、阶段编辑器和Stage Output的宽度。

注意

每个管道阶段名称右侧的切换指示该阶段是否包含在管道中。切换管道阶段还会更新管道预览,该预览根据是否包含该阶段进行更新。

6

单击Add Stage下拉列表,在最后一个聚合阶段之前或之后添加其他聚合阶段。 对每个附加阶段重复步骤 4 和 5。

您可以使用以下键盘快捷键添加阶段:

  • 要在当前阶段之后添加阶段,请执行以下操作:

    • Windows / Linux: Ctrl + Shift + A

    • Mac: ⌘ + Shift + A

  • 要在当前阶段之前添加一个阶段,请执行以下操作:

    • Windows / Linux: Ctrl + Shift + B

    • Mac: ⌘ + Shift + B

7

要在不同阶段之间导航,请从“焦点模式”模态左上角的Stage下拉列表中选择要编辑的阶段。

您可以使用以下键盘快捷键在阶段之间导航:

  • 要Go到当前阶段的上一个阶段:

    • Windows / Linux: Ctrl + Shift + 9

    • Mac: ⌘ + Shift + 9

  • 要在当前阶段之前添加一个阶段,请执行以下操作:

    • Windows / Linux: Ctrl + Shift + 0

    • Mac: ⌘ + Shift + 0

8

单击x退出焦点模式,然后选择管道构建器右上角的Run 。 Compass 在文档视图中返回结果。

1

在聚合管道窗格中,单击</> Text切换开关以启用管道编辑的文本模式。

切换文本模式
点击放大
2

在文本编辑器中输入有效的聚合语法。 文本编辑器提供实时 linting,以确保语法正确和调试信息正确。

您还可以使用文本视图模式,通过在文本编辑器中键入或粘贴管道,从纯文本导入聚合管道。

例如,以下管道将查询结果限制为4文档。

[ { "$limit" : 4 } ]

注意

要展开预览结果中的所有嵌入式字段和文档,请单击Output Options并选择Expand all fields

管道输出预览:
3

单击管道构建器右上角的Run 。 Compass 在文档视图中返回结果。

  • 聚合管道 (Aggregation Pipeline)

  • 聚合管道阶段

  • 聚合管道生成器设置

  • 将管道导出为特定语言

后退

嵌入式 MongoDB Shell