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.