sql >> Database >  >> NoSQL >> MongoDB

MongoDB Multikey Compound Index - Hulp nodig bij het begrijpen van grenzen

Met samengestelde indexen waarbij een van de geïndexeerde velden een array is, gebruikt MongoDB alleen een onder- of bovengrens voor de bereikquery om ervoor te zorgen dat de juiste overeenkomsten worden geretourneerd. Zie SERVER-958 voor een voorbeeld waarbij het beperken van zowel de bovenste als de onderste indexgrenzen het verwachte document niet zou vinden.

Als uw bereikquery in het arrayveld staat, kunt u mogelijk de $elemMatch operator om uw zoekopdracht te optimaliseren binnen de verwachte indexgrenzen. Net als bij MongoDB 2.4, is de $elemMatch operator werkt niet op niet-array-velden, dus helaas helpt dit uw use-case niet. U kunt SERVER-6050:overwegen om $elemMatch toe te staan ​​toe te staan ​​op niet-arrays in de MongoDB-probleemtracker.

Er is ook een openstaand probleem SERVER-7959:mogelijk onverwachte scans met samengestelde indexen wanneer sommige velden multikey zijn beschrijven van dit gedrag.



  1. Haal datum en tijd op uit mongodb document _id field

  2. Node.js:document wordt ongedefinieerd geretourneerd - Mongoose

  3. mongodb krijgt verschillende records

  4. Het geheugengebruik analyseren en optimaliseren in Redis