MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Finden Sie doppelte Datensätze in MongoDB

Verwenden Sie die Aggregation für name und erhalte name mit count > 1 :

db.collection.aggregate([
    {"$group" : { "_id": "$name", "count": { "$sum": 1 } } },
    {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, 
    {"$project": {"name" : "$_id", "_id" : 0} }
]);

So sortieren Sie die Ergebnisse nach den meisten bis zu den wenigsten Duplikaten:

db.collection.aggregate([
    {"$group" : { "_id": "$name", "count": { "$sum": 1 } } },
    {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, 
    {"$sort": {"count" : -1} },
    {"$project": {"name" : "$_id", "_id" : 0} }     
]);

Um einen anderen Spaltennamen als „name“ zu verwenden, ändern Sie „$name " bis "$column_name "