Aggregation Basics
Aggregation Basics: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 51 of 100
Aggregation Basics
Foundations & CRUD ✓ → Queries & Schema ✓ → Aggregation & Scale → Atlas & Projects
Aggregation & Scale · 3 — Pipelines · ~6 min · MongoDB — Aggregation Pipelines
What is this?
Aggregation pipelines process documents in stages — filter, group, reshape, join, and more. Each stage passes its output to the next. Think of it as a conveyor belt for data.
Why should you care?
Dashboards need totals by day, top products, and funnels. find alone cannot group; aggregate can.
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
db.orders.insertMany([
{ status: "paid", total: 500 },
{ status: "paid", total: 700 },
{ status: "cancelled", total: 200 }
])
db.orders.aggregate([
{ $match: { status: "paid" } },
{ $group: { _id: "$status", revenue: { $sum: "$total" }, n: { $sum: 1 } } }
])
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- $match keeps paid orders.
- $group buckets by status and sums total into revenue while counting docs.
- Result: one row with revenue 1200 and n 2.
Practice next
- Insert the sample orders.
- Run the pipeline.
- Add { $sort: { revenue: -1 } } at the end.
- Group by a category field on products.
- Add $project to rename revenue to totalSales.
Remember
aggregate runs a pipeline of stages. $match filters; $group summarizes. Order of stages matters for speed.
Daily GMV widget
Flipkart seller dashboard sums paid orders for today.
Outcome: One aggregation powers the revenue tile.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!