Dette er faktisk ikke et problem med Perl-driveren .. det er relateret til egenskaberne ved sønderdeling. MongoDB er kun i stand til at gennemtvinge entydighed blandt dokumenterne placeret på et enkelt shard på oprettelsestidspunktet, så standardindekset kræver ikke unikhed.
I MongoDB:Configuring Sharding dokumentation er der specifik omtale, at:
-
Når du sharder en samling, skal du angive shard-nøglen. Hvis der er data i samlingen, vil mongo kræve, at der oprettes et indeks på forhånd (det fremskynder chunking-processen); ellers vil der automatisk blive oprettet et indeks til dig.
-
Du kan bruge muligheden {unique:true} til at sikre, at det underliggende indeks fremtvinger unikhed, så længe det unikke indeks er et præfiks for shard-nøglen.
-
Hvis indstillingen "unik:sand" ikke bruges, behøver shard-nøglen ikke at være unik.