假定集群有三台机器,分别位于m1.xx.com, m2.xx.com, m3.xx.com上,我们不能在连接串中直接写死主库的机器,因为主库的机器在集群中随时有可能通过故障切换而转移而变化。所以希望能够自动感知主库的信息,具体方法是在连接时指定replicaSet参数。这样驱动可以帮我们寻找可写的那台机子。
mongodb://username:password@m1.xx.com:34001,m2.xx.com:34001,m3.xx.com:34001/collectionname?replicaSet=xx&autoConnectRetry=true
确定replicaSet的名字,可以通过询问运维人员或者命令查询
{
isMaster: 1
}
结果集中setName的值就是副本集的名字。
执行
{
listCommands: 1
}
可以看到mongo的各种命令