Merge node outputs no data / incorrect merged result despite matching customerID fields

Hi team,

I am following the n8n Level 2 course and facing an issue with the Merge node

Problem:
My Merge node returns no output . I am trying to match records using a field called customerID, but the result is empty

Workflow structure:

  • HTTP Request node → passes order information (single item or small array)
  • Airtable “Search records” → returns customer records (array)
  • Merge node → attempting to match by customerID

What I tried:

  • Ensured field names match (customerID)
  • Tested with “Matching Fields” mode in Merge
  • Verified both inputs produce data
  • Tried manually merging using a Code node
  • Still getting empty output or too many records (many-to-many explosion)

Expected:
A single merged item per customerID match:
Example:
{
“orderID”: 1,
“customerID”: 8,
“name”: “Mario”,
“orderPrice”: 150.32
}

Actual:
Either 0 items, 39 items, or 109 items depending on configuration.

Screenshots:

Workflow export:

n8n Version:
1.122.4

Editor: Self-hosted in docker

Question:
Is this expected behavior based on how n8n groups inputs for the Merge node?
Is the Merge node unable to match arrays-of-length>1 without restructuring inputs?
What is the correct way to pair one order with one customer record?

Thanks in advance!

Here is the simplest demo of how the merge node works.