Devo specificare tutto l'host per la replica ambientata a Mongoose, Express-Session-Mongo e Mongolian?
Domanda
Ho un set di repliche mongodb come:
Host1: 10.10.10.1:27017
Host2: 10.10.10.1:27018
Host3: 10.10.10.2:27017
Host4: 10.10.10.2:27018
Quando imposto la connessione (ad esempio in mongoose), devo farlo:
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);
Posso solo farlo?
mongoose.connectSet('mongodb://10.10.10.1/mydb, mongodb://10.10.10.2/mydb');
Che ne dici di Express-Session-Mongo e Mongole? Come impostare la connessione al set di replica?
Perché devo definire tutti i nomi host? Il conducente non dovrebbe conoscere tutto il primario e secondario e mantenere la tabella di ricerca, invece di definirla manualmente durante l'impostazione della connessione?
Soluzione
Quindi il driver MongoDB utilizzato da Mongoose troverà tutti i membri della replicAset se hai almeno un membro nel set originale. Ciò è dovuto a ciascun membro in una replicaset che conoscono tutti gli altri membri. Ma più server conosci sul meglio in quanto rende più probabile trovare un server nel caso in cui sia passato solo nel server.