我的NodeJS客户端可以连接到MongoDB主服务器并按要求与之交互。
我使用以下代码构建服务器对象
var dbServer = new Server(
host, // primary server IP address
port,
{
auto_reconnect: true,
poolSize: poolSize
});
使用以下代码创建一个数据库对象:
var db = new Db(
'MyDB',
dbServer,
{ w: 1 }
);
我原本认为,在主节点宕机时,客户端会自动找到其中一个副本并选举其成为新的主节点进行通信。
但是当我手动关闭主服务器后,其中一个二级服务器确实成为了主服务器(可以从其mongo shell中观察到,并且它现在响应mongo shell命令),但客户端没有自动与其通信。如何配置NodeJS服务器以自动切换到二级服务器?
我需要在某处指定所有3个服务器地址吗?但这似乎不是一个好的解决方案,因为一旦主服务器重新上线,它的IP地址将与最初的地址不同。
我感觉自己缺少一些非常基础的东西,请给我指点。:)
谢谢, Gary