MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Índice composto multichave do MongoDB - Precisa de ajuda para entender os limites


Com índices compostos em que um dos campos indexados é uma matriz, o MongoDB usará apenas um limite inferior ou superior para a consulta de intervalo para garantir que as correspondências corretas sejam retornadas. Consulte SERVER-958 para um exemplo em que restringir os limites de índice superior e inferior não localizaria o documento esperado.

Se sua consulta de intervalo estiver no campo de matriz, você poderá usar o $elemMatch operador para otimizar sua consulta dentro dos limites de índice esperados. Como no MongoDB 2.4, o $elemMatch O operador não funciona em campos que não são de matriz, portanto, infelizmente, isso não ajuda no seu caso de uso. Você pode assistir/votar SERVER-6050">SERVER-6050:considere permitir $elemMatch aplicado a não arrays no rastreador de problemas do MongoDB.

Há também um problema em aberto SERVER-7959:verificações potencialmente inesperadas com índices compostos quando alguns campos são multichave descrevendo esse comportamento.