La tua terminologia è disattivata in quanto quella struttura non è un array "multidimensionale", poiché quelli hanno "array all'interno di array", quindi "dimensioni". Questi sono solo "oggetti" all'interno di un array.
Quindi il tuo problema qui è un caso fondamentale di avere gli argomenti nel modo sbagliato. Non hai bisogno di $in
solo per cercare un array, ma ci vuole una "lista/array" di argomenti da applicare al campo.
In breve, cerca nel campo e usa "dot notation" :
.find({ "subRegions.code": regionCode }).exec(...);
Avresti solo bisogno di $in
essenzialmente per un $or
condizione, cercando valori alternativi per subRegions.code
, quindi non è necessario quando c'è un solo valore da abbinare.