Antes de MongoDB v8.0, fragmentar una colección era una acción irreversible. A partir de la v8.0, puede desfragmentar una colección en el fragmento que desee.
Cuándo desfragmentar una colección
Los siguientes escenarios se benefician al mover colecciones no fragmentadas entre fragmentos.
Corrección de la fragmentación involuntaria 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.
Simplificando el aislamiento basado en zonas
Si utilizas zonas para mantener una colección fragmentada en un solo fragmento, ahora puede desfragmentar la colección para reducir la complejidad en su clúster.
Consolidación de pequeñas colecciones previamente fragmentadas
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"})