Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Menu Docs
Página inicial do Docs
/ /

commitReshardCollection (comando de banco de dados)

commitReshardCollection

Novidades na versão 5.0.

commitReshardCollection bloqueia 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 do sh.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.

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

O comando tem a seguinte sintaxe:

db.adminCommand(
{
commitReshardCollection: "<database>.<collection>"
}
)

O mongosh fornece um método wrapper sh.commitReshardCollection().

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"
})

Voltar

limpezaReshardCollection

Nesta página