Oui dropDupes
est désormais obsolète depuis la version 2.7.5 car il n'était pas possible de prédire correctement quel document serait supprimé au cours du processus.
Typiquement, vous avez 2 options :
-
Utiliser une nouvelle collection :
- Créer une nouvelle collection,
- Créer l'index unique sur cette nouvelle collection,
- Exécutez un lot pour copier tous les documents de l'ancienne collection vers la nouvelle et assurez-vous d'ignorer l'erreur de clé en double pendant le processus.
-
Traitez-le manuellement dans votre propre collection :
- assurez-vous de ne pas insérer plus de documents en double dans votre code,
- lancez un batch sur votre collection pour supprimer les doublons (et assurez-vous de garder le bon s'ils ne sont pas complètement identiques),
- ajoutez ensuite l'index unique.
Pour votre cas particulier, je recommanderais la première option mais avec une astuce :
- Créer une nouvelle collection avec un index unique,
- Mettez à jour votre code pour insérer maintenant des documents dans les deux tableaux,
- Exécuter un lot pour copier tous les documents de l'ancienne collection vers la nouvelle (ignorer l'erreur de clé dupliquée),
- renommez la nouvelle collection pour qu'elle corresponde à l'ancien nom.
- re-mettez à jour votre code pour n'écrire plus que dans l'"ancienne" collection