Definición
sh.removeShardFromZone(shard, zone)Elimina la asociación entre un zona y un fragmento.
Importante
Método mongosh
Esta página documenta una
mongoshMétodo. Esta no es la documentación para comandos de base de datos ni para controladores específicos del lenguaje, como Node.js.Para el comando de base de datos, consulta el comando
removeShardFromZone.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Este método tiene los siguientes parámetros:
ParameterTipoDescripciónstring
El nombre de la partición del que se removerá la asociación de zona.
string
Solo emite
sh.removeShardFromZone()cuando estés conectado a una instanciamongos.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
sh.removeShardFromZone() no elimina los rangos asociados a la zona.
Para eliminar completamente una zona del clúster, debe ejecutar en cada fragmento asociado con la sh.removeShardFromZone() zona.
Si el fragmento especificado es el último asociado a la zona, debe asegurarse de que no queden rangos asociados a ella. Utilice updateZoneKeyRange para eliminar cualquier rango existente asociado a la zona antes de sh.removeShardFromZone() ejecutar.
Consulte la página del manual de zonas para obtener más información sobre las zonas en clústeres fragmentados.
Balanceador
Al eliminar la asociación entre una zona y un fragmento, se eliminan las restricciones que mantienen los fragmentos cubiertos por la zona en el fragmento. Durante la siguiente ronda de balanceo, este podrá migrar fragmentos que anteriormente estaban cubiertos por la zona.
Consulte la página del manual del equilibrador de clúster fragmentado para obtener más información sobre cómo funcionan las migraciones en un clúster fragmentado.
Seguridad
Para los clústeres fragmentados que aplican el control de acceso, debe autenticarse como:
un usuario cuyos privilegios incluyen:
updateen lashardscolección en laconfigbase de datos, yfinden latagscolección en laconfigbase de datos;
o, alternativamente,
un usuario cuyos privilegios incluyen en
enableShardingel recurso del clúster.
Los roles clusterAdmin integrados o clusterManager tienen los permisos adecuados para sh.removeShardFromZone() emitir. Consulte la página del manual de Control de acceso basado en roles para obtener más información.
Ejemplo
El siguiente ejemplo elimina la asociación entre shard0000 y la zona NYC:
sh.removeShardFromZone("shard0000", "NYC")