sql >> Database >  >> NoSQL >> MongoDB

Vind dubbele records in MongoDB

Gebruik aggregatie op name en krijg name met count > 1 :

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

Om de resultaten te sorteren van de meeste naar de minste duplicaten:

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

Om te gebruiken met een andere kolomnaam dan "name", verander "$name " tot "$column_name "



  1. Afbeeldingen opslaan in een MongoDB-database

  2. Time-outopties voor MongoDB-client begrijpen

  3. Kan allowDiskUse:True niet krijgen om met pymongo te werken

  4. Wat is het nut van het bestand mongo.lock?