Remova todos os hosts secundários do conjunto de réplicas (rs.remove('host:port')), reinicie o mongo deamon sem o parâmetro replSet (editando /etc/mongo.conf) e os hosts secundários iniciam no modo autônomo novamente.
O host primário é complicado, porque você não pode removê-lo do conjunto de réplicas com rs.remove. Uma vez que você tenha apenas o nó primário no conjunto de réplicas, você deve sair do shell do mongo e parar o mongo. Em seguida, você edita o /etc/mongo.conf e remove o parâmetro replSet e inicia o mongo novamente. Assim que iniciar o mongo, você já estará no modo autônomo, mas o shell do mongo exibirá uma mensagem como:
2015-07-31T12:02:51.112+0100 [initandlisten] ** AVISO:mongod foi iniciado sem --replSet ainda 1 documentos estão presentes em local.system.replset
para remover o aviso, você pode fazer 2 procedimentos:1) Soltando o db local e reiniciando o mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2) Ou se você não quiser ser tão radical, você pode fazer:
use local
db.system.replset.find()
e ele irá solicitar uma mensagem como:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
então você irá apagá-lo usando:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
e provavelmente irá solicitar:
WriteResult({ "nRemoved" : 1 })
Agora, você pode reiniciar o mongo e o aviso deve desaparecer, e você terá seu mongo no modo autônomo sem avisos