sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Multikey Compound Index - Behöver hjälp att förstå gränser

Med sammansatta index där ett av de indexerade fälten är en array, kommer MongoDB endast att använda antingen en nedre eller övre gräns för intervallfrågan för att säkerställa att korrekta matchningar returneras. Se SERVER-958 till exempel där begränsning till både övre och nedre indexgränser inte skulle hitta det förväntade dokumentet.

Om din intervallfråga finns i arrayfältet kan du eventuellt använda $elemMatch operatör för att optimera din fråga inom de förväntade indexgränserna. Som i MongoDB 2.4, $elemMatch Operatören fungerar inte på icke-matrisfält så tyvärr hjälper detta inte ditt användningsfall. Du kan titta/rösta upp SERVER-6050:Överväg att tillåta $elemMatch tillämpad på icke-arrayer i MongoDB issue tracker.

Det finns också ett öppet problem SERVER-7959:Potentiellt oväntade skanningar med sammansatta index när vissa fält är flernyckel beskriver detta beteende.



  1. Söker efter platser med Google Maps API för Android

  2. Startar mongodb-server med npm-skript

  3. Order och limit resulterar i en förfrågan med en återuppringning

  4. Är GridFS tillräckligt snabbt och pålitligt för produktion?