Definição
listShardsO comando
listShardsretorna uma lista dos fragmentos configurados em um cluster fragmentado.listShardsestá disponível somente em instâncias domongose deve ser emitido no banco de banco de dados doadmin.
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
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.runCommand( { listShards: 1 } )
Exemplo
A operação a seguir executa listShards no banco de dados mongos admin :
db.adminCommand({ listShards: 1 })
O documento a seguir é um exemplo da saída de um comando listShards :
{ "shards": [ { "_id": "shard01", "host": "shard01/host1:27018,host2:27018,host3:27018", "state": 1 }, { "_id": "shard02", "host": "shard02/host4:27018,host5:27018,host6:27018", "tags": [ "NYC" ], "state": 1 }, { "_id": "shard03", "host": "shard03/host7:27018,host8:27018,host9:27018", "state": 1 } ], "ok": 1, "$clusterTime" : { "clusterTime" : Timestamp(1510716515, 1), "signature" : { "hash" : BinData(0,"B2ViX7XLzFLS5Fl9XEuFXbwKIM4="), "keyId" : Long("6488045157173166092") } }, "operationTime" : Timestamp(1510716515, 1) }
Saída
listShards retorna um documento que inclui:
Um campo
shardsque contém um array de documentos, cada um descrevendo um shard. Cada documento pode conter os seguintes campos:CampoDescrição_idO nome do shard.
hostO nome do host do shard. Se o shard for um conjunto de réplica,
hostlistará o nome do host de cada instância de mongod no conjunto de réplicas.drainingSe for verdadeiro, indica que removeShard (comando de banco de dados) foi chamado para esse shard e está em processo de drenagem.
tagsUma lista de zonas às quais o fragmento pertence.
stateUm campo interno usado durante a sequência addShard (comando de banco de dados) para garantir que todas as etapas e configurações necessárias para adicionar o fragmento ao cluster sejam concluídas.
O campo de status
ok, o campooperationTimee o campo$clusterTimepara a operação. Para obter detalhes sobre esses campos, consulte Resposta.