Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

sh.balancerCollectionStatus() (método mongosh)

sh.balancerCollectionStatus(namespace)

Devuelve un documento que contiene información sobre si los fragmentos de una colección particionada están equilibrados (es decir, no necesitan ser trasladados) en el momento en que se ejecuta el comando o necesitan ser trasladados debido al drenaje de particiones, violación de la zona o desequilibrio de fragmentos entre las particiones.

Importante

Método mongosh

Esta página documenta a Método mongosh. Esta no es la documentación de comandos de base de datos ni de controladores específicos del lenguaje, como Node.js.

Para el comando de base de datos, consulta el balancerCollectionStatus .

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 sh.balancerCollectionStatus() tiene el siguiente formulario:

sh.balancerCollectionStatus( <namespace> )

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

Parameter
Tipo
Descripción

String

El namespace de la colección para particionar en la forma "<database>.<collection>".

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

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

El rol clusterManager incorporado proporciona los privilegios apropiados.

Para comprobar si los fragmentos de una colección particionada test.contacts están actualmente equilibrados, conecta a una instancia de mongos y emite lo siguiente:

sh.balancerCollectionStatus("test.contacts")

Si no es necesario mover los fragmentos de la colección, el método retorna un resultado similar al siguiente:

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

Si el namespace consultado está pasando por una desfragmentación de fragmentos, el método sh.balancerCollectionStatus devuelve una salida similar a la siguiente:

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

Nota

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

Para la descripción de la salida, consulte balancerCollectionStatus Output.

Volver

sh.addTagRange

En esta página