sql >> Base de Datos >  >> NoSQL >> MongoDB

Índice compuesto de varias claves de MongoDB:necesita ayuda para comprender los límites

Con índices compuestos donde uno de los campos indexados es una matriz, MongoDB solo usará un límite inferior o superior para la consulta de rango para garantizar que se devuelvan las coincidencias correctas. Ver SERVER-958 para ver un ejemplo en el que la restricción a los límites superior e inferior del índice no encontraría el documento esperado.

Si su consulta de rango está en el campo de matriz, puede usar potencialmente el $elemMatch operador para optimizar su consulta dentro de los límites de índice esperados. Como en MongoDB 2.4, el $elemMatch operator no funciona en campos que no son de matriz, por lo que desafortunadamente esto no ayuda en su caso de uso. Puede ver/votar a favor SERVER-6050:Considere permitir que $elemMatch se aplique a matrices que no sean en el rastreador de problemas de MongoDB.

También hay un problema abierto SERVER-7959:Exploraciones potencialmente inesperadas con índices compuestos cuando algunos campos son multiclave describiendo este comportamiento.