MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Un moyen rapide de trouver des doublons sur une colonne indexée dans mongodb

J'ai personnellement constaté que sur les grandes bases de données (1 To et plus), la réponse acceptée est terriblement lente. L'agrégation est beaucoup plus rapide. Exemple ci-dessous :

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

Il recherche les documents dont extra_info.id est utilisé deux fois ou plus, trie les résultats dans l'ordre décroissant du champ donné et en imprime les 5 premières valeurs.