Votre terminologie est erronée car cette structure n'est pas un tableau "multidimensionnel", car ceux-ci ont des "tableaux dans des tableaux", donc des "dimensions". Ce ne sont que des "objets" dans un tableau.
Donc, votre problème ici est un cas basique d'avoir les arguments dans le mauvais sens. Vous n'avez pas besoin de $in
juste pour rechercher un tableau, mais il faut plutôt une "liste/tableau" d'arguments à appliquer au champ.
En bref, recherchez simplement le champ et utilisez "notation par points" :
.find({ "subRegions.code": regionCode }).exec(...);
Vous n'auriez besoin que de $in
pour essentiellement un $or
condition, recherche de valeurs alternatives pour subRegions.code
, vous n'en avez donc pas besoin lorsqu'il n'y a qu'une seule valeur à faire correspondre.