Para remover um membro de um definir, use um dos procedimentos a seguir.
Remover um Membro Usando rs.remove()
Shut down the
mongodinstance for the member you wish to remove. To shut down the instance, connect usingmongoshand use thedb.shutdownServer()method.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.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() failedmesmo que o comando seja bem-sucedido.
Remover um Membro Usando rs.reconfig()
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.
Procedimento
Shut down the
mongodinstance for the member you wish to remove. To shut down the instance, connect usingmongoshand use thedb.shutdownServer()method.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.Emitir o método
rs.conf()para visualizar o documento de configuração atual e determinar a posição na matrizmembersdo membro a remover:Exemplo
mongod_C.example.netestá na posição2do 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" } ] } Atribuir o documento de configuração atual à variável
cfg:cfg = rs.conf() Modifique o objeto
cfgpara remover o membro.Exemplo
Para remover
mongod_C.example.net:27017use a seguinte operação em JavaScript:cfg.members.splice(2,1) Substitua o documento de configuração do conjunto de réplica pela nova configuração, emitindo o seguinte:
rs.reconfig(cfg) 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" } ] }