Oui, dropDups est parti pour de bon. Mais vous pouvez certainement atteindre votre objectif avec peu d'effort.
Vous devez d'abord rechercher toutes les lignes en double, puis supprimer toutes sauf la première.
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}});
});
Comme vous le voyez doc.dups.shift()
supprimera le premier _id du tableau, puis supprimez tous les documents avec les _ids restants dans le tableau dups.
script ci-dessus supprimera tous les documents en double.