Definição
db.collection.getShardLocation()Novidades na versão 8.1.
Retorna um documento contendo os fragmentos onde a coleção está localizada e se a coleção está fragmentada.
Importante
Método mongosh
Esta página documenta um
mongoshmétodo. Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma.O
getShardLocation()método é um wrapper para o$listClusterCatalogestágio de agregação.
Saída
O método getShardLocation() retorna um documento com os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
| Array | Fragmentos onde residem os dados da coleção. |
| Boolean | Indica se a collection está fragmentada. |
Se você executar o método em uma implantação não fragmentada:
A array
shardsestá vazia.O campo
shardedéfalse.
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
Esse comando não é suportado em clusters M0 e Flex. 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
db.<collection>.getShardLocation()
Exemplos
Collection fragmentada
O exemplo a seguir mostra os shards que contêm os dados na collection sample_mflix.movies:
use sample_mflix db.movies.getShardLocation()
{ shards: [ 'shard01', 'shard02' ], sharded: true }
Collection não fragmentada em um cluster fragmentado
Se você executar o comando em um cluster fragmentado , mas a coleção não estiver fragmentada, o campo sharded será false e a array shards conterá apenas o fragmento config:
use sample_mflix db.movies.getShardLocation()
{ shards: [ 'config' ], sharded: false }
Sistema não fragmentado
Se você executar o comando em um sistema não fragmentado, o campo sharded será false e a array shards estará vazia:
use sample_mflix db.movies.getShardLocation()
{ shards: [], sharded: false }