如何连接到MongoDB分片群集

Elt*_*ooo 0 mongodb parse-platform parse-server mongodb-replica-set

我在aws上设置了一个看起来像这样的集群

- mycluster
--- shard0
----- node0 : P
----- node1 : S
----- node2 : S
--- shard1
----- node0: P
----- node1: S
----- node2: S
--- shard2
----- node0: P
----- node1: S
----- node2: S
Run Code Online (Sandbox Code Playgroud)

我想通过连接字符串URI连接到它.

我的连接字符串目前看起来像这样:

mongodb://host0:portX,...,host9:portZ/test-database?replicaSet=mycluster
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,当我尝试连接它时,我得到错误无法访问.

但是,我可以很好地连接到单个分片.

mongodb://host0:portX,...,host3:portZ/test-database?replicaSet=shard0
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么阻止我连接到整个群集?

Ban*_*San 5

在分片中,您连接到分片路由器,即mongos进程.您没有连接到每个单独的分片.只有mongos这样做.

  • 我想补充一点,它直接连接到分片时会对数据一致性造成严重破坏. (2认同)