0
0
MongoDBquery~30 mins

$min and $max accumulators in MongoDB - Mini Project: Build & Apply

Choose your learning style9 modes available
$min and $max Accumulators in MongoDB Aggregation
📖 Scenario: You work at a small bookstore that keeps track of sales in a MongoDB collection. Each sale document records the book title and the number of copies sold. You want to find the minimum and maximum number of copies sold among all sales to understand the range of sales performance.
🎯 Goal: Build a MongoDB aggregation pipeline that uses the $min and $max accumulators to find the smallest and largest number of copies sold in the sales collection.
📋 What You'll Learn
Create a sales collection with documents containing title and copies_sold fields.
Define a variable pipeline that holds the aggregation pipeline array.
Use the $group stage with $min and $max accumulators on the copies_sold field.
Complete the pipeline so it returns a single document with minCopies and maxCopies fields.
💡 Why This Matters
🌍 Real World
Bookstores and many businesses use MongoDB to analyze sales data and find minimum and maximum values to understand performance ranges.
💼 Career
Knowing how to use MongoDB aggregation with accumulators like $min and $max is important for data analysts and backend developers working with NoSQL databases.
Progress0 / 4 steps
1
Create the sales collection data
Create a variable called sales that is an array of documents with these exact entries: { title: "Book A", copies_sold: 5 }, { title: "Book B", copies_sold: 12 }, { title: "Book C", copies_sold: 7 }, { title: "Book D", copies_sold: 3 }, and { title: "Book E", copies_sold: 10 }.
MongoDB
Need a hint?

Use an array of objects with the exact field names and values given.

2
Define the aggregation pipeline variable
Create a variable called pipeline and set it to an empty array [].
MongoDB
Need a hint?

Just create an empty array named pipeline for now.

3
Add the $group stage with $min and $max accumulators
Add a $group stage object to the pipeline array. Use _id: null and add minCopies: { $min: "$copies_sold" } and maxCopies: { $max: "$copies_sold" } fields inside the $group stage.
MongoDB
Need a hint?

Remember to use $group with _id: null to aggregate all documents together.

4
Complete the aggregation pipeline setup
Add a comment above the pipeline variable that says // Aggregation pipeline to find min and max copies sold.
MongoDB
Need a hint?

Adding a comment helps explain what the pipeline does.