I am currently involved in providing our high availability applications.
Our applications have an automatic update function (using Mongeez), which ensures that the structure of all databases / collections / documents is in the correct format for this version of the application.
The problem is that it's hard for me to solve the problem of replication and version control.
I will use the following example to better explain the problem.

I need to upgrade application X to application X2.0 on both servers without downtime, so I do the following:
- Stop application X A
- Install version 2.0 on server A
- Launch X2.0 A Application
- X2.0 A MongoDB 2.0
- MongoDB Replica Set, MongoDB.
- !!!... X B 1.0, 2.0 //.
? " "?