sql >> Database >  >> NoSQL >> MongoDB

Mangoest vind element in array

Uw terminologie klopt niet omdat die structuur geen "multidimensionale" array is, omdat die "arrays binnen arrays" hebben, vandaar "dimensies". Dit zijn gewoon "objecten" binnen een array.

Dus uw probleem hier is een eenvoudig geval van het hebben van de argumenten verkeerd om. Je hebt geen $in nodig alleen om een ​​array te doorzoeken, maar er is eerder een "lijst/array" van argumenten nodig om op het veld toe te passen.

Kortom, zoek gewoon het veld op en gebruik "puntnotatie" :

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

Je hebt alleen $in . nodig voor in wezen een $or voorwaarde, alternatieve waarden opzoeken voor subRegions.code , dus dat heb je niet nodig als er maar één waarde is die overeenkomt.




  1. GetalLange rekenkunde in de Mongo-schaal

  2. sorteer array in query en projecteer alle velden

  3. MongoDB:Niet geautoriseerd op admin om commando uit te voeren

  4. findAndModify Fout in mongodb - nodejs - foutcode 17287