Definição
sh.moveChunk(namespace, query, destination)Moves the chunk that contains the document specified by the
queryto thedestinationshard.sh.moveChunk()provides a wrapper around themoveChunkdatabase command.Importante
In most circumstances, allow the balancer to automatically migrate chunks, and avoid calling
sh.moveChunk()directly.Aviso
Esse comando não pode ser usado para chave de fragmento com hash, pois usa a opção
finddo comandomoveChunk. Para mover uma parte com uma chave de fragmento com hash, use o comandomoveChunkespecificando o campobounds.Importante
Método mongosh
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.Para o comando do banco de dados, consulte o comando
moveChunk.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
sh.moveChunk()recebe os seguintes argumentos:ParâmetroTipoDescriçãonamespacestring
O namespace da collection fragmentada que contém a parte a ser migrado.
querydocumento
Uma correspondência de igualdade na chave de fragmento que seleciona a parte a ser movida.
destinationstring
A ID do fragmento do destinatário.
Observação
Use o comando
listShardspara recuperar o ID do shard do destinatário.Por padrão, o MongoDB não poderá mover um chunk se o número de documentos no chunk for maior que 2 vezes o resultado da divisão do tamanho do chunk configurado pelo tamanho médio do documento . O comando
moveChunkpode especificar a opção forceJumbo para permitir a migração manual de chunks grandes demais para serem movidos, com ou sem o rótulo jumbo . Consulte comando moveChunk para detalhes.
Dica
Fragmentação e migraçãode parte
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
Exemplo
Dada a collection people no reconhecimento de data center records, a operação a seguir localiza a parte que contém o documento com o campo zipcode definido como 53187 e, em seguida, move essa parte para o fragmento chamado shard0019:
sh.moveChunk("records.people", { zipcode: "53187" }, "shard0019")