Importante
A partir do MongoDB 6.0.3, execute uma agregação usando o estágio $shardedDataDistribution
para confirmar que não há documentos órfãos restantes. Para obter detalhes, consulte Confirmar que não há documentos órfãos restantes.
Definição
cleanupOrphaned
Obsoleto desde a versão 8.0.
Use este comando para aguardar documentos órfãos em um intervalo de chunks do
MinKey
aoMaxKey
de uma chave de shard para que o MongoDB limpe um namespace especificado da maioria dos membros de um shard.Observação
Este comando não limpa diretamente documentos órfãos, ele aguarda a limpeza de órfãos em uma faixa especificada. Para obter mais informações sobre como o MongoDB limpa documentos órfãos, consulte Sharded Cluster Balancer.
Para executar, emita
cleanupOrphaned
no banco de banco de dadosadmin
diretamente na instânciamongod
que é o principal membro do conjunto de réplicas do shard. Você não precisa desativar o balanceador antes de executarcleanupOrphaned
.Observação
Não execute
cleanupOrphaned
em uma instância domongos
.
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
Importante
Esse comando não é suportado em clusters M0 e Flex. 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
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { cleanupOrphaned: "<database>.<collection>", startingFromKey: <minimumShardKeyValue>, // deprecated secondaryThrottle: <boolean>, // deprecated writeConcern: <document> // deprecated } )
Campos de comando
cleanupOrphaned
tem os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
| string | O namespace, ou seja, o reconhecimento de data center e o nome da collection, da collection fragmentada para a qual aguardar a limpeza dos dados órfãos. |
Comportamento
Determinar a faixa
O valor deste campo não é utilizado para determinar os limites do intervalo de limpeza. O comando cleanupOrphaned
aguarda até que todos os documentos órfãos em todos os intervalos no namespace sejam limpos do fragmento antes de concluir, independentemente da presença ou do valor de startingFromKey
.
Acesso necessário
Em sistemas executados com authorization
, você deve ter clusterAdmin
privilégios para executar cleanupOrphaned
.
Saída
documento de devolução
Cada comando cleanupOrphaned
retorna um documento contendo um subconjunto dos seguintes campos: