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

Mongodb indexación para agregados

No puede crear un índice que funcione de la manera que lo ha descrito. No hay forma de "indexar" una de las salidas de un paso de canalización cuando se ejecuta una agregación.

Hay algunos operadores de agregación con los que pueden funcionar Índices de colección de MongoDB .

Actualmente, incluyen:$match , $sort , $limit y $skip .

Como $match es uno de ellos, el rendimiento de la consulta de agregación que ha escrito puede beneficiarse al declarar un índice compuesto en los dos campos, especialmente porque ha colocado correctamente el $match al comienzo de la canalización:

db.theCollection.ensureIndex({user: 1, type: 1})

El $group El paso en la canalización tomará los resultados de $match e idealmente, ser relativamente rápido. :)