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

Encontre registros duplicados no MongoDB


Use agregação em name e obtenha name com count > 1 :
db.collection.aggregate([
    {"$group" : { "_id": "$name", "count": { "$sum": 1 } } },
    {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, 
    {"$project": {"name" : "$_id", "_id" : 0} }
]);

Para ordenar os resultados da maior para a menor duplicatas:
db.collection.aggregate([
    {"$group" : { "_id": "$name", "count": { "$sum": 1 } } },
    {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, 
    {"$sort": {"count" : -1} },
    {"$project": {"name" : "$_id", "_id" : 0} }     
]);

Para usar com outro nome de coluna diferente de "name", altere "$name " para "$column_name "