Ja dropDupes
är nu utfasad sedan version 2.7.5 eftersom det inte var möjligt att förutsäga korrekt vilket dokument som skulle raderas i processen.
Vanligtvis har du två alternativ:
-
Använd en ny samling :
- Skapa en ny samling,
- Skapa det unika indexet på denna nya samling,
- Kör en batch för att kopiera alla dokument från den gamla samlingen till den nya och se till att du ignorerar duplicerade nyckelfel under processen.
-
Hantera det manuellt i din egen samling :
- se till att du inte infogar fler duplicerade dokument i din kod,
- kör en batch på din samling för att ta bort dubbletterna (och se till att du behåller den goda om de inte är helt identiska),
- lägg sedan till det unika indexet.
För ditt specifika fall skulle jag rekommendera det första alternativet men med ett trick :
- Skapa en ny samling med unikt index,
- Uppdatera din kod så att du nu infogar dokument i båda tabeller,
- Kör en batch för att kopiera alla dokument från den gamla samlingen till den nya (ignorera duplicerat nyckelfel),
- byt namn på den nya samlingen för att matcha det gamla namnet.
- uppdatera din kod igen så att du nu bara skriver i den "gamla" samlingen