Jak się przekonałeś, dodanie unikalnego indeksu do pola tablicy nie wymusza unikalności w obrębie tablicy, gwarantuje, że nie ma dwóch dokumentów w kolekcji zawierają tę samą wartość pola w tablicy.
Zamiast tego spójrz na $addToSet
operator tablicowy jako sposób niepodzielnego dodawania wartości do tablicy tylko wtedy, gdy nie ma jej jeszcze w tablicy.