Uw terminologie klopt niet omdat die structuur geen "multidimensionale" array is, omdat die "arrays binnen arrays" hebben, vandaar "dimensies". Dit zijn gewoon "objecten" binnen een array.
Dus uw probleem hier is een eenvoudig geval van het hebben van de argumenten verkeerd om. Je hebt geen $in
nodig
alleen om een array te doorzoeken, maar er is eerder een "lijst/array" van argumenten nodig om op het veld toe te passen.
Kortom, zoek gewoon het veld op en gebruik "puntnotatie" :
.find({ "subRegions.code": regionCode }).exec(...);
Je hebt alleen $in
. nodig voor in wezen een $or
voorwaarde, alternatieve waarden opzoeken voor subRegions.code
, dus dat heb je niet nodig als er maar één waarde is die overeenkomt.