Los índices únicos no son compatibles con colecciones fragmentadas a menos que el índice sea la clave de la fragmentación o la incluya como prefijo.
Acerca de esta tarea
La restricción de unicidad de un índice garantiza que los documentos de la colección tengan un valor único establecido en el campo. Con colecciones fragmentadas, MongoDB no aplica la restricción de unicidad al campo a menos que el índice sea la clave de la partición o la incluya como prefijo. Para evitar problemas:
En una colección fragmentada, si crea un índice único que no usa la clave de fragmento, MongoDB devuelve un error al
createIndexesdominio.Si fragmenta una colección y la colección contiene un índice único que no utiliza la clave de fragmentación, MongoDB devuelve un error al
shardCollectioncomando.
Pasos
Fragmentar la colección
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 } ) }