MongoDB Aggregation Practice Challenges with Solutions (Part - 5)

🧩 MongoDB Practice Series – Aggregation Challenges with Solutions (Part 5)

Welcome to Part 5 of the MongoDB Practice Series.

In this lesson, you will practice Aggregation in MongoDB.

Aggregation helps you perform calculations like:

  • Total
  • Average
  • Count
  • Grouping data

These skills are very useful for reports and analytics.


🟢 Exercise 1: Count Total Documents

Problem:
Count the total number of students in the collection.

Solution:


db.students.countDocuments()

Learning Goal: Learn how to count records.


🟡 Exercise 2: Calculate Average Value

Problem:
Find the average price of all products.

Solution:


db.products.aggregate([
  {
    $group: {
      _id: null,
      averagePrice: { $avg: "$price" }
    }
  }
])

Learning Goal: Use $group and $avg.


🟡 Exercise 3: Calculate Total Sum

Problem:
Find the total revenue from all orders.

Solution:


db.orders.aggregate([
  {
    $group: {
      _id: null,
      totalRevenue: { $sum: "$totalAmount" }
    }
  }
])

Learning Goal: Use $sum to calculate totals.


🔵 Exercise 4: Group Data by Category

Problem:
Count how many products exist in each category.

Solution:


db.products.aggregate([
  {
    $group: {
      _id: "$category",
      totalProducts: { $sum: 1 }
    }
  }
])

Learning Goal: Understand grouping by field value.


🔵 Exercise 5: Find Maximum Value

Problem:
Find the highest product price.

Solution:


db.products.aggregate([
  {
    $group: {
      _id: null,
      highestPrice: { $max: "$price" }
    }
  }
])

Learning Goal: Use $max.


🔴 Exercise 6: Group and Filter Results

Problem:
Find categories that have more than 5 products.

Solution:


db.products.aggregate([
  {
    $group: {
      _id: "$category",
      count: { $sum: 1 }
    }
  },
  {
    $match: {
      count: { $gt: 5 }
    }
  }
])

Learning Goal: Combine $group with $match.


🚀 Mini Challenge

Create a collection called sales with fields:

  • productName
  • category
  • quantity
  • price

Then write queries to:

  • Calculate total revenue (quantity × price)
  • Find total sales per category
  • Find the category with highest total sales

Try solving step by step.


🎯 What’s Next?

In Part 6 of the MongoDB Practice Series, we will practice:

  • Real-world schema design scenarios
  • Embedding vs referencing decisions
  • Designing scalable databases

Stay tuned for the next level!


No comments:

Post a Comment

Featured Post

MongoDB Aggregation Practice Challenges with Solutions (Part - 5)

🧩 MongoDB Practice Series – Aggregation Challenges with Solutions (Part 5) ← Part 4 MongoDB Tutorial Next → Welcome to Part 5 ...

Popular Posts