0
0
MongoDBquery~30 mins

$push accumulator for building arrays in MongoDB - Mini Project: Build & Apply

Choose your learning style9 modes available
$push accumulator for building arrays in MongoDB
📖 Scenario: You are managing a small online bookstore database. Each book document stores information about the book and a list of reviews from customers. You want to group all reviews by book title to see all feedback in one place.
🎯 Goal: Build an aggregation query using the $push accumulator to collect all reviews for each book title into an array.
📋 What You'll Learn
Create a collection named books with documents containing title and review fields.
Define a variable groupStage for the aggregation $group stage.
Use the $push accumulator inside groupStage to collect reviews into an array for each book title.
Write the complete aggregation pipeline using db.books.aggregate() with the groupStage.
💡 Why This Matters
🌍 Real World
Collecting and grouping user reviews or comments by product or article is common in many applications like e-commerce or blogs.
💼 Career
Understanding aggregation with $push is essential for data analysis and reporting tasks in MongoDB database roles.
Progress0 / 4 steps
1
Create the books collection with sample documents
Create a variable called books and assign it an array with these exact documents: { title: "Book A", review: "Great read" }, { title: "Book B", review: "Informative" }, { title: "Book A", review: "Loved it" }
MongoDB
Need a hint?

Use an array of objects with exact title and review fields as shown.

2
Define the groupStage for aggregation
Create a variable called groupStage and assign it an object with a $group key. Group by _id: "$title" and prepare to use $push to collect reviews.
MongoDB
Need a hint?

Use $group with _id set to "$title" and reviews using $push on "$review".

3
Write the aggregation pipeline using groupStage
Create a variable called pipeline and assign it an array containing the groupStage object.
MongoDB
Need a hint?

Put the groupStage object inside an array assigned to pipeline.

4
Complete the aggregation query using db.books.aggregate()
Write a line of code that calls db.books.aggregate(pipeline) and assign the result to a variable called result.
MongoDB
Need a hint?

Call db.books.aggregate(pipeline) and assign it to result.