Definición
sh.removeShardFromZone(shard, zone)Elimina la asociación entre un zona y una partición de datos.
Importante
Método mongosh
Esta página documenta un método
mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.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
El nombre de la zona cuya asociación con la partición deseas remover.
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 remueve los rangos asociados con la zona.
Para remover completamente una zona del clúster, debes ejecutar sh.removeShardFromZone() en cada partición asociado con la 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 particionados.
Balanceador
Remover la asociación entre una zona y una partición elimina las restricciones que mantienen los fragmentos cubiertos por la zona en la partición. Durante la próxima ronda del balanceador, el balanceador puede migrar los fragmentos que antes cubría la zona.
Consulta la página del manual de balanceador de clúster para obtener más información sobre cómo funcionan las migraciones en un clúster.
Seguridad
Para los clústeres fragmentados que aplican el control de acceso, debe autenticarse como:
un usuario cuyos privilegios incluyen:
updatesobre la colecciónshardsen la base de datosconfig, yfinden la coleccióntagsen la base de datosconfig;
o, alternativamente,
un usuario cuyos privilegios incluyan
enableShardingsobre el recurso 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")