After I remove the third node successfully, when I adding it back, I type the port number incorrectly (identical to 2nd node)…Then, the primary node was “switch” to “Secondary”. I cannot add/remove node from the replication set any more…but to erase all data and restart the whole process.
Is there any other way to recover from such situation (i.e. no primary node exist)
Are you sure that no primary node exists?
Try to connect directly to the 2nd node. If the mongo prompt indicate SECONDARY then there must be a primary node in the cluster otherwise the prompt will show something like OTHER.