Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

sh.shardDrainingStatus() (método mongosh)

sh.shardDrainingStatus(shardId)

Mostra o status de um fragmento de drenagem, se o balanceador ainda está movendo partes para outros fragmentos no cluster ou se o processo está concluído.

Novidades na versão 9.0.

Se você não especificar shardId, o método retornará o status de todos os shards que estão drenagem no momento.

Importante

Método mongosh

Esta página documenta um método.mongosh Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, como Node.js.

Para o comando do banco de dados, consulte o comando shardDrainingStatus.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • 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

Observação

Este comando não é suportado no MongoDB Atlas. Consulte Modificar seu Atlas Cluster Sharded para adicionar ou remover shards do seu Atlas cluster.

sh.shardDrainingStatus( <shardId> )
Parâmetro
Tipo
Descrição

shardId

string

Opcional. Nome do fragmento de drenagem a ser analisado. Se omitido, o método relata todos os shards de drenagem .

Para campos de saída, consulte o comando shardDrainingStatus.

Se você tiver authorization habilitado, deverá ter a função clusterManager ou qualquer função que inclua a ação removeShard .

Cada banco de dados em um cluster fragmentado tem um fragmento primário. Se o fragmento que você deseja drenar também for o primário de um dos bancos de dados do cluster, você deverá mover manualmente os bancos de dados para um novo fragmento depois de migrar todos os dados do fragmento. Consulte o comando movePrimary e Remover fragmentos de um cluster fragmentado para obter mais informações.

As coleções não fragmentadas são armazenadas em fragmentos individuais. Se uma dessas coleções estiver no fragmento que você deseja remover, primeiro você deverá migrar a coleção para um fragmento diferente.

Para migrar uma collection não fragmentada, consulte o comando moveCollection.

O exemplo a seguir retorna o status de drenagem do fragmento shard04:

sh.shardDrainingStatus( "shard04" )
{
msg: "draining ongoing",
state: "ongoing",
remaining: {
chunks: Long(2),
dbs: Long(2),
jumboChunks: Long(0),
collectionsToMove: Long(2)
},
shard: "shard04",
note: "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove",
dbsToMove: [
"fizz",
"buzz"
],
collectionsToMove: [
"fizz.coll1",
"buzz.coll1"
],
ok: 1,
operationTime: Timestamp(1575399086, 1655),
$clusterTime: {
clusterTime: Timestamp(1575399086, 1655),
signature: {
hash: BinData(0,"XBrTmjMMe82fUtVLRm13GBVtRE8="),
keyId: Long("6766255701040824328")
}
}
}