Isso na verdade não é um problema com o driver Perl .. está relacionado às características do sharding. O MongoDB só é capaz de impor exclusividade entre os documentos localizados em um único fragmento no momento da criação, portanto, o índice padrão não exige exclusividade.
No MongoDB:configurando a fragmentação documentação há menção específica de que:
-
Ao fragmentar uma coleção, você deve especificar a chave de fragmentação. Se houver dados na coleção, o mongo exigirá que um índice seja criado antecipadamente (acelera o processo de agrupamento); caso contrário, um índice será criado automaticamente para você.
-
Você pode usar a opção {unique:true} para garantir que o índice subjacente imponha a exclusividade, desde que o índice exclusivo seja um prefixo da chave de fragmentação.
-
Se a opção "unique:true" não for usada, a chave de fragmentação não precisará ser exclusiva.