estado de fragmentação
Nesta página
shardingState
shardingState
é um comando admin que informa semongod
é membro de um cluster fragmentado. Para executar o comando, você deve executar no banco de banco de dados doadmin
. Consultedb.adminCommand()
.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos sem suporte.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { shardingState: 1 } )
Comportamento
Para que shardingState
detecte que um mongod
é nó de um cluster fragmentado, o mongod
deve atender às seguintes condições:
o
mongod
é um membro principal de um conjunto de réplicas ea instância
mongod
é um nó de um cluster fragmentado.
Se shardingState
detectar que um mongod
é membro de um cluster fragmentado, shardingState
retornará um documento semelhante ao seguinte protótipo:
{ "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" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp({ t: 1682457260, i: 1 }) }
Caso contrário, shardingState
retornará o seguinte documento:
{ "enabled" : false, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp({t:1510716515, i: 1}), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp({t: 1510716515, i: 1}) }
A resposta de shardingState
quando usado com um servidor de configuração é:
{ "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" : NumberLong("6488693018630029321") } } }
Observação
As instâncias mongos
não fornecem o shardingState
.
Aviso
Esse comando obtém um bloqueio de escrita no reconhecimento de data center afetado e bloqueará outras operações até que seja concluído; no entanto, a operação normalmente é de curta duração.