sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose hitta element i array

Din terminologi är avstängd eftersom den strukturen inte är en "flerdimensionell" array, eftersom de har "arrayer inom arrayer", därav "dimensioner". Detta är bara "objekt" i en array.

Så ditt problem här är ett grundläggande fall av att ha argumenten på fel sätt. Du behöver inte $in bara för att söka i en array, utan snarare krävs det en "lista/array" av argument för att tillämpas på fältet.

Kort sagt, slå bara upp fältet och använd "dot notation" :

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

Du skulle bara behöva $in för i huvudsak en $or condition, letar upp alternativa värden för subRegions.code , så du behöver inte det när det bara finns ett värde att matcha.




  1. Spring Data Reactive Repositories med MongoDB

  2. MongoDB version 2.6 misslyckas fortfarande med 2dsphere geoindexering med hänvisning till oförmåga att extrahera geonycklar och möjlig felaktig geometri

  3. Skriver tester för Python Eve RESTful API:er mot en riktig MongoDB

  4. Mongodb hämta samlingar av java-drivrutinen