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

shardingState (comando de base de datos)

shardingState

shardingState es un comando de administrador que informa si mongod es un nodo de un clúster. Para ejecutar el comando, debes ejecutarlo contra la base de datos admin. Ver db.adminCommand().

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte 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 comando tiene la siguiente sintaxis:

db.adminCommand(
{
shardingState: 1
}
)

Para que shardingState detecte que un mongod es un nodo de un clúster, el mongod debe cumplir las siguientes condiciones:

  1. el mongod es un nodo principal de un set de réplicas y

  2. la mongod instancia es un nodo de un clúster fragmentado.

Si shardingState detecta que un mongod es nodo de un clúster fragmentado, shardingState devuelve un documento que se parece al siguiente prototipo:

{
"enabled" : true,
"configServer" : "<configdb-string>",
"shardName" : "<string>",
"shardHost" : "string:",
"versions" : {
"<database>.<collection>" : {
"placementVersion": Timestamp({ t: 1, i: 1024 }),
"timestamp": Timestamp({ t: 1682444810, i: 8 })
},
"<database>.<collection>" : {
"placementVersion": Timestamp({ t: 0, i: 0 }),
"timestamp": Timestamp({ t: 0, i: 0 })
}
},
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp({ t: 1682457265, i: 1 }),
"signature" : {
"hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),
"keyId" : Long("6488045157173166092")
}
},
"operationTime" : Timestamp({ t: 1682457260, i: 1 })
}

De lo contrario, shardingState devolverá el siguiente documento:

{
"enabled" : false,
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp({t:1510716515, i: 1}),
"signature" : {
"hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="),
"keyId" : Long("6488045157173166092")
}
},
"operationTime" : Timestamp({t: 1510716515, i: 1})
}

La respuesta de shardingState cuando se utiliza con un servidor de configuración es:

{
"enabled" : false,
"ok" : 1,
"operationTime" : Timestamp({t: 1510767613, i: 1}),
"$gleStats" : {
"lastOpTime" : Timestamp({t: 0, i: 0}),
"electionId" : ObjectId("7fffffff0000000000000001")
},
"$clusterTime" : {
"clusterTime" : Timestamp({t: 1510767613, i: 1}),
"signature" : {
"hash" : BinData(0,"IwBZ4SZjIMI5NdM62NObV/R31GM="),
"keyId" : Long("6488693018630029321")
}
}
}

Nota

Las instancias mongos no proporcionan el shardingState.

Advertencia

Este comando obtiene un bloqueo de escritura en la base de datos afectada y bloqueará otras operaciones hasta que se haya completado; sin embargo, la operación suele ser de corta duración.

Volver

shardCollection

En esta página