Aggregation Pipeline Builder
On this page
- Create an Aggregation Pipeline
- Save a Pipeline
- Open a Saved Pipeline
maxTimeMSfor Aggregation Queries
- 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
- Refresh Document Counts
New in version 1.14.0
The Aggregation Pipeline Builder in MongoDB Compass lets you create aggregation pipelines to process documents from a collection or view and return computed results. For example, you can use aggregation pipelines to:
Group values from multiple documents together.
Perform operations on the grouped data to return a single result.
Analyze data changes over time.
To build an aggregation pipeline, choose a collection and click the Aggregations tab. Compass displays a blank aggregation pipeline. The Preview of Documents in the Collection section shows 20 documents randomly sampled from the chosen collection.
Atlas Search Stages
When you connect Compass to a MongoDB deployment hosted on Atlas, additional Atlas-only stages $search and $searchMeta are available in the Aggregation Pipeline Builder. Use these stages to perform full-text search on Atlas collections.
You can use the Compass Aggregation Pipeline Builder to:
$outstage is not available if you are connected to a Data Lake.
You cannot run the Atlas Search
$searchMetastages on a time series collection.
Create an Aggregation Pipeline
MongoDB Compass provides different modes to create aggregation pipelines:
Stage View Mode, a visual pipeline editor that preloads pipeline syntax based on your selected stages.
Focus Mode, a feature of Stage View Mode where you edit one pipeline stage at a time. Focus Mode helps you manage complex or deeply nested aggregation pipeline stages.
Text View Mode, a text-based pipeline editor that accepts raw pipeline syntax.
To see how to create an aggregation pipeline, select the tab corresponding to your chosen view mode:
Save a Pipeline
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:
Open a Saved Pipeline
Click the Folder icon at the top left of the pipeline builder.
Hover over the pipeline you want to open and click Open.
In the modal, click Open Pipeline.
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.
maxTimeMS for Aggregation Queries
maxTimeMS parameter on the Aggregations tab to
specify an upper time limit in milliseconds on the aggregation pipelines
that run in Compass.
maxTimeMS for aggregation operations:
On the Aggregations tab, click More Options.
Enter a value next to Max Time MS to set a
maximum amount of time in milliseconds that an aggregation
pipeline can run. For a
5 second limit, enter
If your aggregation operation goes over the time limit, Compass raises the following error:
Set the Documents Limit or Auto Preview Documents
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.
(Recommended) When enabled, limits input documents passed to
When enabled, Compass automatically updates the preview documents pane to reflect the results of each active stage as the pipeline progresses.
View or Change Pipeline Settings
To view and change pipeline settings:
Click the gear icon at the upper right of the pipeline builder to open the Settings panel.
Change any of the following pipeline settings.OptionDescriptionDefaultWhen enabled, adds helper comments to each stage.EnabledNumber of documents to show in the preview.20When Sample Mode is enabled, specifies the number of documents passed to
$bucketAutostages. Lower limits improve pipeline running time, but may miss documents.100000
Click Apply to save changes and close the Settings panel.
Explain Plan for Pipelines
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.
Your results are presented in this format:
Specify Custom Collation
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:
Click More Options in the top right corner of the pipeline builder.
Enter your collation document.
Export Aggregation Results
To export results from your aggregation pipeline:
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.
Navigate to your target collection.
You can either select the collection from the Collections tab or click the collection in the left-hand pane.
Create an aggregation pipeline and run for results.
To learn how to create an aggregation pipeline, see Create an Aggregation Pipeline.
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.
Under Output, choose where to export the file to.
Create a View from Pipeline Results
Creating a view from pipeline results does not save the pipeline itself.
To create a view from your pipeline results:
Click the arrow next to the Save button at the top of the pipeline builder.
Click Create a View.
Enter a name for your view.
Compass creates a view from your pipeline results in the same database where the pipeline was created.
Refresh Document Counts
When you delete or add a document, the count results value on the Aggregations tab does not automatically update to reflect the new document count.
To update the count results:
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
Connect to a database deployment. For information on how to connect to a database deployment, see Connect via Compass.
exampledatabase where the
Create the Pipeline
The following pipeline has two aggregation stages:
$groupstage groups documents by their
country. The stage also adds a new
flightCountfield containing the number of documents in each group.
$matchstage filters documents to return documents with a
flightCountvalue greater than or equal to
Run the Pipeline.
Click Run at the top right of the pipeline builder.
The pipeline returns documents, as shown in the following abbreviated example: