mongodb://username:password@localhost:3731 默认是direct方式
mongodb://username:password@localhost:3731,localhost:3732,localhost:3733/ 默认是replicaSet模式
由于复制集中的切换机制,在主节点故障的情况下,集群内其他从节点会通过投票方式产生新的主节点,因此,不能像单机情况下那样,直接连接主节点;否则在MongoDB自动切换主节点时,数据库访问就会出问题。
direct|replicaSet区别
mongodb://username:password@localhost:3731,localhost:3732,localhost:3733/connect=direct
mongodb://username:password@localhost:3731,localhost:3732,localhost:3733/connect=replicaSet
用这两种方式去连接Mongodb的复制集的时候,它们的区别还得根据slaveOk这个参数。
slaveOk/connect | direct | replicaSet |
true | 直接连接url指定的第一台服务,即使这不是主节点。 | 连接整个复制集,把写请求分配给主节点,读请求分配给其他节点。 |
false | 自动寻找主节点,寻找顺序按url写的主机顺序。 | 只连接主节点,读写请求全部分配给主节点。 |