Example 1 — Orders collection
db.orders.drop()
db.orders.insertMany([
{ product: "Laptop", category: "Electronics", country: "US", customer: "Acme Corp", amount: 1200, quantity: 1, status: "completed", orderDate: ISODate("2025-03-10") },
{ product: "Mouse", category: "Electronics", country: "US", customer: "Acme Corp", amount: 25, quantity: 2, status: "completed", orderDate: ISODate("2025-03-11") },
{ product: "Desk", category: "Furniture", country: "US", customer: "Beta LLC", amount: 450, quantity: 1, status: "completed", orderDate: ISODate("2025-04-02") },
{ product: "Chair", category: "Furniture", country: "UK", customer: "Beta LLC", amount: 180, quantity: 3, status: "completed", orderDate: ISODate("2025-04-15") },
{ product: "Monitor", category: "Electronics", country: "UK", customer: "Gamma Inc", amount: 320, quantity: 1, status: "completed", orderDate: ISODate("2025-05-01") },
{ product: "Lamp", category: "Furniture", country: "DE", customer: "Gamma Inc", amount: 65, quantity: 2, status: "pending", orderDate: ISODate("2025-05-20") },
{ product: "Keyboard",category: "Electronics", country: "DE", customer: "Delta Co", amount: 89, quantity: 1, status: "completed", orderDate: ISODate("2025-06-08") }
])
db.orders.createIndex({ category: 1, status: 1 })
db.orders.createIndex({ country: 1, product: 1 }) How It Works
Each order has category, country, amount, and status—typical dimensions for $group reports. Index group-by fields when you filter with $match first.

