Definição
db.collection.getShardDistribution()Importante
Método mongosh
Este é um método
mongosh. Esta não é a documentação deNode.jsou de outros métodos de driver específicos da linguagem de programação.Na maioria dos casos, os métodos
mongoshfuncionam da mesma forma que os métodos legado do shellmongo. No entanto, alguns métodos legado não estão disponíveis emmongosh.Para a documentação do shell legado
mongo, consulte a documentação para a release correspondente do MongoDB Server:Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
Imprime as estatísticas de distribuição de dados para uma collection fragmentada.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, 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 método getShardDistribution() tem o seguinte formato:
db.collection.getShardDistribution()
Dica
Saída
Amostra de saída
Confira a seguir uma amostra de saída para a distribuição de uma collection fragmentada:
Shard shard-a at shard-a/MyMachine.local:30000,MyMachine.local:30001,MyMachine.local:30002 data : 38.14Mb docs : 1000003 chunks : 2 estimated data per chunk : 19.07Mb estimated docs per chunk : 500001 Shard shard-b at shard-b/MyMachine.local:30100,MyMachine.local:30101,MyMachine.local:30102 data : 38.14Mb docs : 999999 chunks : 3 estimated data per chunk : 12.71Mb estimated docs per chunk : 333333 Totals data : 76.29Mb docs : 2000002 chunks : 5 Shard shard-a contains 50% data, 50% docs in cluster, avg obj size on shard : 40b Shard shard-b contains 49.99% data, 49.99% docs in cluster, avg obj size on shard : 40b
Campos de Saída
Shard <shard-a> at <host-a> data : <size-a> docs : <count-a> chunks : <number of chunks-a> estimated data per chunk : <size-a>/<number of chunks-a> estimated docs per chunk : <count-a>/<number of chunks-a> Shard <shard-b> at <host-b> data : <size-b> docs : <count-b> chunks : <number of chunks-b> estimated data per chunk : <size-b>/<number of chunks-b> estimated docs per chunk : <count-b>/<number of chunks-b> Totals data : <stats.size> docs : <stats.count> chunks : <calc total chunks> Shard <shard-a> contains <estDataPercent-a>% data, <estDocPercent-a>% docs in cluster, avg obj size on shard : stats.shards[ <shard-a> ].avgObjSize Shard <shard-b> contains <estDataPercent-b>% data, <estDocPercent-b>% docs in cluster, avg obj size on shard : stats.shards[ <shard-b> ].avgObjSize
As informações de saída são exibidas:
<shard-x>é uma string que mantém o nome do shard.<host-x>é uma string que contém o(s) nome(s) do host.<size-x>é um número que inclui o tamanho dos dados, incluindo a unidade de medida (por exemplo,b,Mb).<count-x>é um número que reporta o número de documentos no shard.<number of chunks-x>é um número que reporta o número de chunks no shard.<size-x>/<number of chunks-x>é um valor calculado que reflete o tamanho estimado dos dados por chunk para o shard, incluindo a unidade de medida (por exemplo,b,Mb).<count-x>/<number of chunks-x>é um valor calculado que reflete o número estimado de documentos por chunk para o shard.<stats.size>é um valor que reporta o tamanho total dos dados na collection fragmentada, incluindo a unidade de medida.<stats.count>é um valor que reporta o número total de documentos na collection fragmentada.<calc total chunks>é um número calculado que informa o número de chunks de todos os shards, por exemplo:<calc total chunks> = <number of chunks-a> + <number of chunks-b> <estDataPercent-x>é um valor calculado que reflete, para cada shard, o tamanho dos dados como a porcentagem do tamanho total dos dados da collection, por exemplo:<estDataPercent-x> = <size-x>/<stats.size> <estDocPercent-x>é um valor calculado que reflete, para cada shard, o número de documentos como a porcentagem do número total de documentos para a collection, por exemplo:<estDocPercent-x> = <count-x>/<stats.count> stats.shards[ <shard-x> ].avgObjSizeé um número que reflete o tamanho médio do objeto, incluindo a unidade de medida, para o shard.