Docs Menu

Docs HomeMongoDB Compass

Aggregation Pipeline Builder

On this page

  • Limitations
  • Create an Aggregation Pipeline
  • Save a Pipeline
  • Open a Saved Pipeline
  • Set the Documents Limit or Auto Preview Documents
  • View or Change Pipeline Settings
  • Explain Plan for Pipelines
  • Specify Custom Collation
  • Export Aggregation Results
  • Create a View from Pipeline Results
  • Example

New in version 1.14.0

The Aggregation Pipeline Builder in MongoDB Compass provides the ability to create aggregation pipelines to process data. In aggregation pipelines, documents in a collection or view pass through stages where MongoDB Compass processes them into a set of aggregated results. You can change the stages and results to suit your needs.

To start building an aggregation pipeline for a collection or view, choose the collection and click the Aggregations tab. A blank aggregation pipeline displays. The Preview of Documents in the Collection section of the Aggregations view displays 20 documents sampled from the current collection.

You can:

The $out stage is not available if you are connected to a Data Lake.

1

In the aggregation pipeline pane in the lower-left corner, click the Select... dropdown and select the aggregation pipeline stage to use for the first stage of the pipeline:

Aggregation Builder select stage
2

Fill in your selected stage. If you enable Auto Preview, preview documents update automatically to the right of the stage to reflect the results of your pipeline as it progresses. You can adjust the width of the pipeline stage by dragging its border to the right.

Aggregation Builder match stage example
3

Click Add Stage to add additional aggregation stages below your last aggregation stage. Repeat steps 1 and 2 for each additional stage.

Note

The toggle to the right of the name of each pipeline stage dictates whether that stage is included in the pipeline. Toggling a pipeline stage also updates the pipeline preview, which reflects whether or not that stage is included.

Example

The following pipeline excludes the first $match stage and only includes the $project stage:

Aggregation Builder exclude stage example
4

Click Run at the top right of the pipeline builder. Compass returns your results in the document view.

Warning

When you click Run, the aggregation runs against the entire collection.

Results after Running Aggregation
5

Click Edit at the top of your pipeline toolbar to return to the aggregation pipeline builder. You can make changes to your pipeline from there.

You can save a pipeline so that you can find it later. If you load a saved pipeline, you can change it without changing the original saved copy. You can also create a view from your pipeline results.

To save your pipeline:

1

Click the Save dropdown button at the top of the pipeline builder. Click on Save pipeline as...

Save pipeline as
2
Name your pipeline
3
  1. Click the Folder icon at the top left of the pipeline builder.

    Saved Pipeline Icon
  2. Hover over the pipeline you want to open and click Open.

    Saved Pipelines List
  3. In the modal, click Open Pipeline.

Note

Starting in MongoDB Compass 1.31, you can view your saved queries and aggregation pipelines on the My Queries view once connected to your cluster.

To learn more, see viewing saved aggregations for details.

Use the toggles at the top of the pipeline builder to set the limit on the number of sampled documents or to enable auto preview.

Option
Description
Sample Mode
(Recommended) When enabled, limits input documents passed to $group, $bucket, and $bucketAuto stages. Set the document limit with the Limit setting.
Auto Preview
When enabled, Compass automatically updates the preview documents pane to reflect the results of each active stage as the pipeline progresses.

To view and change pipeline settings:

  1. Click the gear icon at the upper right of the pipeline builder to open the Settings panel.

  2. Change any of the following pipeline settings.

    Option
    Description
    Default
    Comment Mode
    When enabled, adds helper comments to each stage.
    Enabled
    Number of Preview Documents
    Number of documents to show in the preview.
    20
    Limit
    When Sample Mode is enabled, specifies the number of documents passed to $group, $bucket, and $bucketAuto stages. Lower limits improve pipeline running time, but may miss documents.
    100000
  3. Click Apply to save changes and close the Settings panel.

Use the Explain button to view the explain plan that helps you understand the performance of your pipelines. You can view the explain plan at any point while creating or editing your pipeline.

To view your pipeline explain plan, click Explain in the right corner of your pipeline toolbar.

Aggregation Pipeline Builder Explain Plan

Your results are presented in this format:

Aggregation Pipeline Builder Explain Results

Use custom collation to specify language-specific rules for string comparison, such as rules for letter case and accent marks.

To specify a custom collation:

  1. Click More Options in the top right corner of the pipeline builder.

    Collation Option
  2. Enter your collation document.

To export results from your aggregation pipeline:

  1. Connect to the deployment containing the collection you wish to export data from.

    To learn how to connect to a deployment, see Connect to MongoDB.

  2. Navigate to your target collection.

    You can either select the collection from the Collections tab or click the collection in the left-hand pane.

  3. Create an aggregation pipeline and run for results.

    To learn how to create an aggregation pipeline, see Create an Aggregation Pipeline.

  4. Click Export.

  5. Choose the appropriate file type.

    Under Select Export File Type, select either JSON or CSV. If you select JSON, your data is exported to the target file as an array of JSON objects.

  6. Under Output, choose where to export the file to.

    Export Aggregation Data
  7. Click Export.

Note

Creating a view from pipeline results does not save the pipeline itself.

To create a view from your pipeline results:

  1. Click the arrow next to the Save button at the top of the pipeline builder.

  2. Click Create a View.

  3. Enter a name for your view.

  4. Click Create.

Compass creates a view from your pipeline results in the same database where the pipeline was created.

In this example, you create and run a pipeline for a collection with airline data. You can download this dataset from the following link: air_airlines.json.

For instructions on importing JSON data into your cluster, see Import Data into a Collection. This example assumes you have the data in the example.air_airlines namespace.

  1. Connect to a database deployment. For information on how to connect to a database deployment, see Connect via Compass.

  2. Select the example database where the air_airlines collection exists.

  3. Create the Pipeline


    The following pipeline has two aggregation stages: $group and $match.

    • The $group stage groups documents by their active status and country. The stage also adds a new flightCount field containing the number of documents in each group.

    • The $match stage filters documents to return documents with a flightCount value greater than or equal to 5.

      Aggregation Builder Full Example
  4. Run the Pipeline.

    Click Run at the top right of the pipeline builder.

The pipeline returns documents, as shown in the following abbreviated example:

Airline Pipeline Results
←  Embedded MongoDB ShellImport Pipeline from Text →
Share Feedback
© 2023 MongoDB, Inc.

About

  • Careers
  • Investor Relations
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2023 MongoDB, Inc.