当前位置:  开发笔记 > 编程语言 > 正文

为什么我不能使用mongo shell连接到副本集?

如何解决《为什么我不能使用mongoshell连接到副本集?》经验,为你挑选了1个好方法。

我可以使用mongo shell版本3.2.11中的以下命令连接到副本集.但同样适用于mongo shell v3.4.1.

mongo --host \
      "replicaSet1/10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000" mydbname \
      -u root -p root \
      --authenticationDatabase admin

 [main] Error: Failed to parse mongodb:// URL: mongodb://replicaSet1/10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname :

我在这里读到,自v 3.4.1发布以来,副本集地址格式没有改变.

为什么我无法连接到db?什么是解析错误,根据新格式(如果它在那里).



1> Stennie..:

这是MongoDB 3.4.0/3.4.1中已知的回归:SERVER-27289:mongo --host replSet/Host:Port不再有效.已经为即将发布的MongoDB 3.4.2版本提供了修复程序.

您可以mongo使用标准的MongoDB连接字符串URI格式在受影响的3.4.x shell中解决此问题:

mongo --host mongodb://10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname?replicaSet=replicaSet1

您还可以使用标准MongoDB连接字符串作为普通参数(即不带--host参数):

mongo mongodb://10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname?replicaSet=replicaSet1

我在这里读到,自v 3.4.1发布以来,副本集地址格式没有改变.

--host在MongoDB 3.4中添加了对参数中使用标准MongoDB连接字符串格式的支持,以便将mongoshell连接字符串语法与所有官方驱动程序使用的格式对齐.

MongoDB 3.4手册中目前没有注意到这一变化,因此我提出了DOCS-9808进行澄清.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有