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

Remover membros de um conjunto de réplicas autogerenciadas

Para remover um membro de um definir, use um dos procedimentos a seguir.

  1. Shut down the mongod instance for the member you wish to remove. To shut down the instance, connect using mongosh and use the db.shutdownServer() method.

  2. Conecte ao primário atual do conjunto de réplicas. Para determinar a primária atual, utilize db.hello() enquanto estiver conectado a qualquer membro do conjunto de réplicas.

  3. Use rs.remove() em qualquer um dos seguintes formulários para remover o membro:

    rs.remove("mongod3.example.net:27017")
    rs.remove("mongod3.example.net")

    O MongoDB pode desconectar o shell brevemente se o conjunto de réplicas precisar eleger uma nova primária. Nesses casos, o shell se reconecta automaticamente. O shell pode exibir um erro DBClientCursor::init call() failed mesmo que o comando seja bem-sucedido.

Você pode remover um membro reconfigurando o conjunto de réplicas usando um documento de configuração de réplica em que esse membro é removido da matriz members.

rs.reconfig() permite adicionar ou remover não mais do que 1 nóvoting por vez. Para remover vários nós votantes do conjunto de réplicas, execute uma série de operações rs.reconfig() para remover um nó por vez. Consulte a seção A reconfiguração pode adicionar ou remover no máximo um nó votante por vez para obter mais informações.

  1. Shut down the mongod instance for the member you wish to remove. To shut down the instance, connect using mongosh and use the db.shutdownServer() method.

  2. Conecte ao primário atual do conjunto de réplicas. Para determinar a primária atual, utilize db.hello() enquanto estiver conectado a qualquer membro do conjunto de réplicas.

  3. Emitir o método rs.conf() para visualizar o documento de configuração atual e determinar a posição na matriz members do membro a remover:

    Exemplo

    mongod_C.example.net está na posição 2 do seguinte arquivo de configuração:

    {
    "_id" : "rs",
    "version" : 7,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongod_A.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongod_B.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongod_C.example.net:27017"
    }
    ]
    }
  4. Atribuir o documento de configuração atual à variável cfg:

    cfg = rs.conf()
  5. Modifique o objeto cfg para remover o membro.

    Exemplo

    Para remover mongod_C.example.net:27017 use a seguinte operação em JavaScript:

    cfg.members.splice(2,1)
  6. Substitua o documento de configuração do conjunto de réplica pela nova configuração, emitindo o seguinte:

    rs.reconfig(cfg)
  7. Para confirmar a nova configuração, emita rs.conf().

    Para o exemplo acima, a saída seria:

    {
    "_id" : "rs",
    "version" : 8,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongod_A.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongod_B.example.net:27017"
    }
    ]
    }