sh.splitAt()
Definição
sh.splitAt(namespace, query)
A divisão de uma parte no valor da chave de shard especificado pela query.
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando de banco de dados de dados, consulte o comando
split
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
O método utiliza os seguintes argumentos:
ParâmetroTipoDescriçãonamespace
stringO namespace (ou seja<database>.<collection>
) da collection fragmentada que contém a parte a ser divisão.query
documentoUm documento de query que especifica o valor da chave de shard no qual dividir o chunk.
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
Este comando não é suportado em clusters M0, M2 e M5 . 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
Consideração
Na maioria das circunstâncias, você deve deixar a divisão de chunk para os processos automatizados do MongoDB. No entanto, ao implantar inicialmente um cluster fragmentado, pode ser benéfico pré-dividir manualmente uma coleção vazia usando métodos como sh.splitAt()
.
Comportamento
sh.splitAt()
divisão a parte original em dois parte. Uma parte tem um intervalo de chaves de fragmento que começa com o limite inferior original (inclusivo) e termina no valor da chave de fragmento especificado (exclusivo). A outra parte tem um intervalo de chaves de fragmento que começa com o valor da chave de fragmento especificado (inclusive) como o limite inferior e termina no limite superior original (exclusivo).
Para dividir um bloco em seu ponto médio, consulte sh.splitFind()
.
Exemplo
Para a collection fragmentada test.foo
, o exemplo a seguir faz a divisão de uma parte no valor da chave de shard x: 70
.
sh.splitAt( "test.foo", { x: 70 } )