Docs Menu
Docs Home
/ /
particionado

sh.balancerCollectionStatus() (método mongosh)

sh.balancerCollectionStatus(namespace)

Devuelve un documento que contiene información sobre si los fragmentos de una colección fragmentada están equilibrados (es decir, no necesitan moverse) en el momento en que se ejecuta el comando o necesitan moverse debido al agotamiento de fragmentos, violación de zona o desequilibrio de fragmentos entre fragmentos.

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, consulte el balancerCollectionStatus dominio.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

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.

El tiene la siguiente sh.balancerCollectionStatus() forma:

sh.balancerCollectionStatus( <namespace> )

El método sh.balancerCollectionStatus() toma los siguientes parámetros:

Parameter
Tipo
Descripción

String

El espacio de nombres de la colección que se va a fragmentar en el "<database>.<collection>" formato.

Al ejecutar con control de acceso, el usuario debe tener el privilegio enableSharding para ejecutar el método en la base de datos o la colección. Es decir, debe tener un rol que otorgue el siguiente privilegio:

{ resource: { db: <database>, collection: <collection> }, actions: [ "enableSharding" ] }

El rol clusterManager incorporado proporciona los privilegios apropiados.

Para verificar si los fragmentos de una colección fragmentada test.contacts están actualmente en equilibrio, conéctese a una instancia y emita lo mongos siguiente:

sh.balancerCollectionStatus("test.contacts")

Si no es necesario mover los fragmentos de la colección, el método devuelve una salida similar a la siguiente:

{
"balancerCompliant" : true,
"ok" : 1,
"operationTime" : Timestamp(1583193238, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1583193238, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : Long(0)
}
}
}

Si el espacio de nombres consultado está pasando por una desfragmentación de fragmentos, el método sh.balancerCollectionStatus devuelve un resultado similar al siguiente:

{
"chunkSize": Long("128"),
"balancerCompliant": false,
"firstComplianceViolation": "defragmentingChunks",
"details": {
"currentPhase": "moveAndMergeChunks",
"progress": { "remainingChunksToProcess": 1 }
}
}

Nota

La desfragmentación de fragmentos se realiza en varias fases. El campo progress solo corresponde a la fase actual.

Para obtener la descripción de la salida, consulte Salida de balancerCollectionStatus.

Volver

sh.addTagRange

En esta página