Databases & System Design•Part 3: NoSQL & Document Databases (MongoDB, DynamoDB) (26 - 40)
MongoDB Aggregation Pipeline:
In Simple Words:
A series of data transformation stages: $match (filters) -> $group (aggregates) -> $project (reshapes) -> $sort.
javascript
db.orders.aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$userId", totalSpent: { $sum: "$amount" }, orderCount: { $sum: 1 } } },
{ $match: { totalSpent: { $gte: 500 } } },
{ $sort: { totalSpent: -1 } }
]);