Definição
commitReshardCollectionNovidades na versão 5.0.
commitReshardCollectionbloqueia as gravações antecipadamente e força a conclusão das operações de refragmentação.Durante uma operação de refragmentação, o MongoDB não bloqueia gravações até que a duração estimada para concluir a operação de refragmentação esteja abaixo de um determinado valor. No MongoDB 8.0.12 ou anterior, esse valor é de dois segundos. No MongoDB 8.0.13 ou posterior, esse valor é 500 milissegundos.
Se a duração estimada atual estiver acima do limite, mas o período for aceitável para você, poderá concluir a refragmentação mais rapidamente ligando para
commitReshardCollection. Isso bloqueia as gravações antecipadamente e força a conclusão da operação de refragmentação.Dica
No
mongosh, este comando também pode ser executado pelo método assistente dosh.commitReshardCollection().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, 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
O comando tem a seguinte sintaxe:
db.adminCommand( { commitReshardCollection: "<database>.<collection>" } )
O mongosh fornece um método wrapper sh.commitReshardCollection().
Exemplo
Confirmar uma operação de refragmentação
O comando a seguir força a operação de refragmentação no sales.orders para bloquear gravações e concluir:
db.adminCommand({ commitReshardCollection: "sales.orders" })