Aggregation Pipeline Stages - ( Querying and Projection )
In MongoDB, the aggregation pipeline is a powerful tool for querying and manipulating data. In this page, we will be discussing some of the most common stages used in the aggregation pipeline.
Syntax
The aggregation pipeline consists of one or more stages, each of which performs a specific operation on the data. Stages can be combined to perform complex queries and transformations.
Here is the syntax for a simple aggregation pipeline:
db.collection.aggregate([
{ stage1 },
{ stage2 },
{ stage3 },
...
])
Each stage is an object that contains one or more key-value pairs. The keys specify the stage operation, while the values provide additional parameters and options.
Example
Let's look at an example of a simple aggregation pipeline. We will use the $match
stage to filter for documents that meet a certain criteria, and the $project
stage to select specific fields to return.
db.orders.aggregate([
{ $match: { status: "shipped" } },
{ $project: { _id: 0, customer: 1, total: 1 } }
])
In this example, we're querying the orders
collection for all documents that have a status
field equal to "shipped"
. We then use the $project
stage to include only the customer
and total
fields in the output, while excluding the _id
field.
Output
The output of an aggregation pipeline is a cursor that returns the results of the aggregation. The exact format of the output depends on the stages used in the pipeline.
Explanation
There are many stages available in the aggregation pipeline, but some of the most commonly used are:
$match
: Filters documents based on certain criteria$project
: Selects specific fields to return and optionally renames fields$group
: Groups documents together based on a certain field and performs calculations on the grouped data$sort
: Sorts the output by one or more fields$limit
: Limits the number of results returned by the pipeline$skip
: Skips a certain number of results in the output$lookup
: Performs a left outer join with another collection
Use
The aggregation pipeline is a powerful tool for querying and manipulating data in MongoDB. It can be used for a wide range of tasks, from simple filtering and sorting to complex transformations and aggregations.
Important Points
- The aggregation pipeline consists of one or more stages that perform specific operations on the data
- The
$match
,$project
,$group
,$sort
,$limit
,$skip
, and$lookup
stages are some of the most commonly used stages in the pipeline - The output of the pipeline is a cursor that returns the results of the aggregation
Summary
In this page, we discussed some of the most common stages used in the MongoDB aggregation pipeline. We covered the syntax, example, output, explanation, use, important points, and summary of the aggregation pipeline. By using the pipeline, you can perform complex queries and transformations on your data in MongoDB.