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

Manera rápida de encontrar duplicados en la columna indexada en mongodb

Personalmente, descubrí que en grandes bases de datos (1 TB y más), la respuesta aceptada es terriblemente lenta. La agregación es mucho más rápida. El ejemplo está abajo:

db.places.aggregate(
    { $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
    { $match : { total : { $gte : 2 } } },
    { $sort : {total : -1} },
    { $limit : 5 }
    );

Busca documentos cuyo extra_info.id se usa dos veces o más, ordena los resultados en orden descendente del campo dado e imprime los primeros 5 valores del mismo.