首页 > 解决方案 > mongo驱动程序没有检测到rails中的主节点

问题描述

我在 AWS 上设置了一个分片 mongo,其中有 3 个节点,其中 2 个是辅助节点,1 个是主节点。当我尝试通过 rails 连接到同一个时,似乎没有检测到主节点并且查询超时。

$mg = Mongo::MongoShardedClient.from_uri("mongodb://mongo-n1.abc.com:27017,mongo-n2.abc.com:27017,mongo-n3.abc.com:27017/testdb", w: 0, :read => :primary).db

请注意,如果我在上面更改了 mongo 节点的顺序(即,使 n3 成为连接字符串中的第一个节点,它可以工作,因为 n3 是主要的。

有什么方法可以被驱动程序自动检测到?

标签: ruby-on-railsmongodb

解决方案


推荐阅读