MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB Multikey Compound Index - Serve aiuto per capire i limiti

Con indici composti in cui uno dei campi indicizzati è un array, MongoDB utilizzerà solo un limite inferiore o superiore per la query dell'intervallo per garantire che vengano restituite corrispondenze corrette. Vedi SERVER-958 per un esempio in cui il vincolo ai limiti dell'indice superiore e inferiore non troverebbe il documento previsto.

Se la query sull'intervallo si trova nel campo dell'array, puoi potenzialmente utilizzare il $elemMatch operatore per ottimizzare la query entro i limiti di indice previsti. Come in MongoDB 2.4, il $elemMatch l'operatore non funziona su campi non array, quindi sfortunatamente questo non aiuta il tuo caso d'uso. Puoi guardare / votare SERVER-6050:considera di consentire $elemMatch applicato a non array nel tracker dei problemi di MongoDB.

Esiste anche un problema aperto SERVER-7959:scansioni potenzialmente impreviste con indici composti quando alcuni campi sono multichiave descrivendo questo comportamento.