Collections não fragmentadas
A partir do MongoDB 8.0, você pode desfragmentar uma collection fragmentada usando o comando unshardCollection
. Quando você desfragmenta uma collection, o MongoDB move os dados da collection para um único shard e atualiza os metadados para refletir o estado não fragmentado.
Sintaxe do comando
Para desfragmentar uma collection, use o comando unshardCollection
:
db.adminCommand({ unshardCollection : "<database>.<collection>", toShard : "<recipient shard ID>" })
Casos de uso
Um usuário pode desfragmentar uma collection se:
Você pode armazenar a coleção inteiramente em um único fragmento.
A coleção exige isolamento de recursos e os padrões de acesso serão melhor suportados se a coleção residir em um único fragmento. Para atender aos mesmos requisitos em uma coleção fragmentada, consulte Fragmentação de zona.
A coleção foi fragmentada anteriormente, mas não precisa mais ser fragmentada.
Começar
Controle de acesso
Se seu sistema tiver o controle de acesso ativado, a função enableSharding
concederá a você acesso para executar o comando unshardCollection
.
Detalhes
Os dados de uma coleção não fragmentada residem apenas em um fragmento e a chave de fragmento é removida. As coleções que você desfragmenta manualmente se comportam da mesma forma que as coleções recém-criadas que nunca foram fragmentadas.
Você pode especificar o fragmento de destino com o campo opcional toShard
. Se você não especificar um shard de destino, o MongoDB selecionará automaticamente o shard com a menor quantidade de dados.