To właściwie nie jest problem ze sterownikiem Perla… jest to związane z charakterystyką shardingu. MongoDB jest w stanie wymusić unikalność tylko wśród dokumentów znajdujących się w jednym fragmencie w momencie tworzenia, więc domyślny indeks nie wymaga unikalności.
W MongoDB:konfiguracja fragmentowania w dokumentacji jest konkretna wzmianka, że:
-
Podczas dzielenia kolekcji na fragmenty należy określić klucz fragmentu. Jeśli w kolekcji znajdują się dane, mongo będzie wymagało wcześniejszego utworzenia indeksu (przyspiesza to proces dzielenia na kawałki); w przeciwnym razie indeks zostanie automatycznie utworzony.
-
Możesz użyć opcji {unique:true}, aby upewnić się, że bazowy indeks wymusza unikalność, o ile unikalny indeks jest prefiksem klucza fragmentu.
-
Jeśli opcja „unikalna:prawda” nie jest używana, klucz fragmentu nie musi być unikalny.