sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose find element i array

Din terminologi er slået fra, da den struktur ikke er en "multidimensional" matrix, da de har "arrays inden for arrays", deraf "dimensioner". Dette er blot "objekter" i et array.

Så dit problem her er et grundlæggende tilfælde af at have argumenterne den forkerte vej rundt. Du behøver ikke $in bare for at søge i et array, men det kræver snarere en "liste/array" af argumenter at anvende på feltet.

Kort sagt, slå bare feltet op og brug "dot notation" :

.find({ "subRegions.code": regionCode }).exec(...);

Du behøver kun $in for i det væsentlige en $or betingelse, ved at finde alternative værdier for subRegions.code , så det behøver du ikke, når der kun er én værdi, der matcher.




  1. Fejlfinding af en MongoDB Sharded Cluster

  2. MongoDB-ydelse med voksende datastruktur

  3. MongoDB C#-forbindelser/afbrydelser (officiel driver)

  4. Spring Data Mongo - Perform Distinct, men ønsker ikke at trække indlejrede dokumenter i resultater