MongoDB to pravděpodobně dělá, aby se bránil. Pokud dropDups na špatném poli byste mohli hadici celé datové sady a uzamknout DB operacemi mazání (které jsou „tak drahé“, jak se píše).
První otázkou tedy je, proč vytváříte jedinečný index na id pole?
MongoDB vytvoří výchozí _id pole, které je automaticky jedinečné a indexováno. Ve výchozím nastavení MongoDB vyplní _id s ObjectId , můžete to však přepsat libovolnou hodnotou. Pokud tedy máte připravenou sadu hodnot ID, můžete je použít .
Pokud nemůžete znovu importovat hodnoty, zkopírujte je do nové kolekce a zároveň změňte id do _id . Poté můžete starou sbírku zrušit a přejmenovat novou. (všimněte si, že se objeví spousta „duplicitních klíčových chyb“, ujistěte se, že je váš kód zachytí a ignoruje )