Din terminologi är avstängd eftersom den strukturen inte är en "flerdimensionell" array, eftersom de har "arrayer inom arrayer", därav "dimensioner". Detta är bara "objekt" i en array.
Så ditt problem här är ett grundläggande fall av att ha argumenten på fel sätt. Du behöver inte $in
bara för att söka i en array, utan snarare krävs det en "lista/array" av argument för att tillämpas på fältet.
Kort sagt, slå bara upp fältet och använd "dot notation" :
.find({ "subRegions.code": regionCode }).exec(...);
Du skulle bara behöva $in
för i huvudsak en $or
condition, letar upp alternativa värden för subRegions.code
, så du behöver inte det när det bara finns ett värde att matcha.