Ja, dropDups ist für immer weg. Aber man kann sein Ziel definitiv mit wenig Aufwand erreichen.
Sie müssen zuerst alle doppelten Zeilen finden und dann alle außer zuerst entfernen.
db.dups.aggregate([{$group:{_id:"$contact_id", dups:{$push:"$_id"}, count: {$sum: 1}}},
{$match:{count: {$gt: 1}}}
]).forEach(function(doc){
doc.dups.shift();
db.dups.remove({_id : {$in: doc.dups}});
});
Wie Sie doc.dups.shift()
sehen entfernt die erste _id aus dem Array und entfernen Sie dann alle Dokumente mit verbleibenden _ids im dups-Array.
Das obige Skript entfernt alle doppelten Dokumente.