Unwind produces output for array elements and can multiply documents. Missing, null and empty arrays require explicit retention choices.
Before you start
You should understand documents, collections and indexes. Sketch representative documents and the reads and writes they must support. MongoDB-specific examples assume a collection with the shown fields; deployment topology, permissions and existing indexes can affect the operational behavior being discussed.
The practical goal is to reason through this situation: An order with three items becomes three rows before an item-level total. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.
Step-by-step walkthrough
Step 1: Choose the result grain
One output document per array element differs from one per order.
Step 2: Define empty-array retention
Decide whether missing, null and empty arrays should preserve a parent.
Step 3: Aggregate correct contributions
Do not sum a parent total once for every expanded child.
Worked scenario
An order with three items becomes three rows before an item-level total.
An order total is 30 and its items array has three elements. After unwind, summing the repeated order total produces 90. Sum item amounts for item-level revenue or preserve a single parent contribution under an explicitly order-level pipeline.
Common mistake
Summing an order total after unwind can count it repeatedly.
Verify the behavior
Seed zero, one and three items and verify totals against hand calculations.
Interview exercise
Compute revenue accurately.
Answer and reasoning
Choose the intended grain and aggregate item amounts or preserve one order contribution rather than multiplying parent totals.
Continue learning
Compare the scenario with the MongoDB interview questions and test your understanding with the MongoDB MCQs. For terminology and implementation details, consult the reference material.