Por padrão, o MongoDB pode dividir um pedaço somente ao migrar dados pertencentes a ele. No entanto, é possível dividir chunks manualmente se tiver uma grande quantidade de dados no cluster e poucos chunks, como é o caso depois de distribuir um cluster usando dados existentes.
Para divisão chunks manualmente, use o split comando com os campos middle ou find. mongosh fornece os métodos assistente sh.splitFind() e sh.splitAt().
splitFind() divide a parte que contém o primeiro documento retornado que corresponde a essa query em duas partes do mesmo tamanho. Você deve especificar o namespace completo (ou seja, "<database>.<collection>") da coleção fragmentada para splitFind(). A query em splitFind() não precisa usar a chave fragmentada, embora quase sempre faça sentido fazer isso.
Exemplo
O seguinte comando divide o chunk que contém o valor de 63109 para o campo zipcode na collection people do banco de dados records:
sh.splitFind( "records.people", { "zipcode": "63109" } )
Use splitAt() para dividir um chunk em dois, usando o documento consultado como o limite inferior no novo chunk:
Exemplo
O seguinte comando divide o bloco que contém o valor de 63109 para o campo zipcode na coleção people do banco de dados records.
sh.splitAt( "records.people", { "zipcode": "63109" } )
Observação
splitAt() não necessariamente divide o pedaço em dois pedaços de tamanhos iguais. A divisão ocorre no local do documento que corresponde à query, independentemente de onde esse documento esteja no bloco.