Í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.
Sobre esta tarefa
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:
Em uma coleção fragmentada, se você criar um índice único que não use a chave de fragmento, o MongoDB retornará um erro para o comando
createIndexes.Se você fragmentar uma coleção e a coleção contiver um índice único que não utilize a chave de fragmento, o MongoDB retornará um erro para o comando
shardCollection.
Passos
Fragmentar a collection
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 } ) }