MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongoose encontra elemento na matriz


Sua terminologia está desativada, pois essa estrutura não é uma matriz "multidimensional", pois elas têm "matrizes dentro de matrizes", portanto, "dimensões". Isso é apenas "objetos" dentro de uma matriz.

Portanto, seu problema aqui é um caso básico de ter os argumentos de maneira errada. Você não precisa de $in apenas para pesquisar um array, mas é preciso uma "lista/array" de argumentos para aplicar ao campo.

Resumindo, basta pesquisar o campo e usar "notação de ponto" :
.find({ "subRegions.code": regionCode }).exec(...);

Você só precisaria de $in para essencialmente um $or condição, procurando valores alternativos para subRegions.code , então você não precisa disso quando há apenas um valor para corresponder.