2016-09-04 3 views
0

Ich möchte einen Index für ein Feld in meiner Benutzersammlung erstellen. Das Feld sollte eindeutig sein, wurde aber auf Serverebene und nicht auf Datenbankebene erzwungen. Mongodb hat mich gewarnt, dass das Feld nicht einzigartig ist; Es muss Datensätze mit doppeltem 'slug' geben (das Feld, das ich eindeutig machen möchte).Sortierung nach Anzahl der Datensätze, die einem bestimmten Feld in Mongodb entsprechen. (Suche nach Duplikaten)

Was ist der beste Weg, um herauszufinden, welche Duplikate erfasst haben (angepasst durch das Feld ‚Slug‘

Antwort

0

Verwenden Aggregation auf Slug und bekommen Slug mit count> 1:

db.user.aggregate(
    {"$group" : { "_id": "$slug", "count": { "$sum": 1 } } }, 
    {"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }, 
    {"$project": {"slug" : "$_id", "_id" : 0} } 
) 
Verwandte Themen