Rimuovere tutti gli host secondari dal set di repliche (rs.remove('host:port')), riavviare mongo deamon senza il parametro replSet (modificando /etc/mongo.conf) e gli host secondari si avviano nuovamente in modalità standalone.
L'host primario è complicato, perché non puoi rimuoverlo dal set di repliche con rs.remove. Una volta che hai solo il nodo primario nel set di repliche, dovresti uscire da mongo shell e interrompere mongo. Quindi modifichi /etc/mongo.conf e rimuovi il parametro replSet e riavvii mongo. Una volta avviato mongo sei già in modalità standalone, ma la shell mongo mostrerà un messaggio del tipo:
2015-07-31T12:02:51.112+0100 [initandlisten] ** ATTENZIONE:mongod è iniziato senza --replSet ma 1 documenti sono presenti in local.system.replset
per rimuovere l'avviso puoi eseguire 2 procedure:1) Eliminare il db locale e riavviare mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2)Oppure se non vuoi essere così radicale, puoi farlo:
use local
db.system.replset.find()
e ti verrà chiesto un messaggio come:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
quindi lo cancellerai usando:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
e probabilmente chiederà:
WriteResult({ "nRemoved" : 1 })
Ora puoi riavviare il mongo e l'avviso dovrebbe essere scomparso e avrai il tuo mongo in modalità standalone senza avvisi