Docs Menu
Docs Home
/ /

Colecciones fragmentadas con índices únicos

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.

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:

1

Cree el índice que planea utilizar como clave de fragmento:

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

Cree el índice único para la colección. Incluya la clave de fragmento como prefijo del í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 } )
}

Volver

Convertir a único