¿Necesito especificar todo el host para la réplica establecida en Mongoose, Express-Session-Mongo y Mongolian?
Pregunta
Tengo una réplica de MongoDB establecida como:
Host1: 10.10.10.1:27017
Host2: 10.10.10.1:27018
Host3: 10.10.10.2:27017
Host4: 10.10.10.2:27018
Cuando configuré la conexión (por ejemplo, en mangosta), tengo que hacer esto:
mongoose.connectSet('mongodb://10.10.10.1:271017/mydb,
mongodb://10.10.10.1:27018/mydb,
mongodb://10.10.10.2:27107/mydb, mognodb://10.10.10.27108/mydb);
¿Puedo hacer esto?
mongoose.connectSet('mongodb://10.10.10.1/mydb, mongodb://10.10.10.2/mydb');
¿Qué tal expresión-sesion-mongoto y mongolos? ¿Cómo configurar la conexión al conjunto de réplicas?
¿Por qué tengo que definir todos los nombres de host? ¿No debería el conductor conocer todo lo primario y secundario y mantener la tabla de búsqueda, en lugar de definirla manualmente durante la configuración de la conexión?
Solución
Por lo tanto, el controlador MongoDB que usa Mongoose encontrará a todos los miembros del ReplicAset si tiene al menos un miembro en el conjunto original. Esto se debe a que cada miembro en un replicAset conoce sobre todos los demás miembros. Pero cuantos más servidores conozca, mejor, ya que es más probable que encuentre un servidor en caso de que su único servidor pase en el servidor.