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 é um documento de um método
mongosh. Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma.O método
getShardLocation()é um wrapper para o estágio de agregação$listClusterCatalog.
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 coleção 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 fragmentos que contêm os dados na coleção sample_mflix.movies:
use sample_mflix db.movies.getShardLocation()
{ shards: [ 'shard01', 'shard02' ], sharded: true }
Coleção 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 }
Implantação não fragmentada
Se você executar o comando em uma implantação não fragmentada, o campo sharded será false e a array shards estará vazia:
use sample_mflix db.movies.getShardLocation()
{ shards: [], sharded: false }