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 a todos os comandos, consulte Comandos não suportados.
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>" : Timestamp(<...>), "<database>.<collection>" : Timestamp(<...>) }, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1510716515, 1), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp(1510716515, 1) }
Caso contrário, shardingState
retornará o seguinte documento:
{ "enabled" : false, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1510716515, 1), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : NumberLong("6488045157173166092") } }, "operationTime" : Timestamp(1510716515, 1) }
A resposta de shardingState
quando usado com um servidor de configuração é:
{ "enabled" : false, "ok" : 1, "operationTime" : Timestamp(1510767613, 1), "$gleStats" : { "lastOpTime" : Timestamp(0, 0), "electionId" : ObjectId("7fffffff0000000000000001") }, "$clusterTime" : { "clusterTime" : Timestamp(1510767613, 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.