Antes de MongoDB v8.0, particionado una colección era una acción irreversible. A partir de la versión8.0, puede desfragmentar una colección a la partición de su elección.
Cuándo desfragmentar una colección
Los siguientes escenarios se benefician al mover colecciones no fragmentadas entre fragmentos.
Corrección del particionado no intencionado de una colección
Si descubre que la fragmentación era innecesaria o causaba problemas de rendimiento, puede usar el comando ``unshardCollection`` para reescribir la colección completa como una colección no fragmentada.
Simplificación del aislamiento basado en zonas
Si usas zonas para mantener una colección particionada en una sola partición, ahora puede desfragmentar la colección para reducir la complejidad en su clúster.
Consolidando colecciones pequeñas previamente particionadas
Si fragmentó colecciones pequeñas para utilizar eficientemente los recursos en varios fragmentos, puede desfragmentarlas y moverlas al fragmento que prefiera. Esto reduce la complejidad de la implementación y mantiene una asignación adecuada de recursos.
Sintaxis del comando
sh.unshardCollection("database.collection", "shardName")
El siguiente ejemplo desfragmenta el riders colección en la base de datos taxi y mueve la colección a shard1.
db.adminCommand({unshardCollection:"taxi.riders", toShard: "shard1"})