Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Coleções fragmentadas com índices únicos

Índices únicos não são suportados em coleções fragmentadas a menos que o índice seja a chave de fragmento ou a inclua como um prefixo.

A restrição de exclusividade em um índice garante que os documentos na coleção tenham um valor único definido no campo. Com coleções fragmentadas, o MongoDB não força a restrição de unicidade no campo, a menos que o índice seja a chave de fragmento ou inclua a chave de fragmento como prefixo. Para evitar problemas:

  • Para collections fragmentadas, se você criar um índice único que não utilize a chave de fragmento, o MongoDB retornará um erro ao executar o comando createIndexes.

  • Se você fragmentar uma coleção e a coleção contiver um índice único que não utiliza a chave de fragmento, o MongoDB retornará um erro ao executar o comando shardCollection.

1

Crie o índice que você planeja usar como chave de fragmento:

db.names.createIndex( { region_id: 1 } )
region_id_1
2

Crie o índice único para a coleção. Inclua a chave de fragmento como prefixo do índice:

db.names.createIndex(
{ region_id: 1, email: 1 },
{ unique: true }
)
region_id_1_email_1
3
sh.shardCollection( "accounts.names", { region_id: 1 } )
{
collectionsharded: 'accounts.names',
ok: 1,
'$clusterTime': {
clusterTime: Timestamp( { t: 1759260515, i: 58 } ),
signature: {
hash: Binary.createFromBase64( 'AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0 ),
keyId: Long( '0' )
}
},
operationTime: Timestamp( { t: 1759260515, i: 57 } )
}