如何解决Robomongo:无法连接到副本集 Set的主要对象无法访问
我正在将mLab从Heroku迁移到MongoDB Atlas。作为步骤之一,我想检查是否与新创建的群集存在连接。我将Robo3T(以前称为Robomongo)用于Heroku mLab实例。但这不适用于Atlas。从URL创建连接时出现以下错误:
Cannot connect to replica set "SampleProject"[cluster-abcd12ef-shard-00-00.a0b1c.mongodb.net:27017].
Set's primary is unreachable.
Reason:
Failed to initialize MongoWorker. Reason: connect Failed
试图调整设置,但那里的一切看起来都正确,例如Heroku,唯一的主机和端口不同。
也查看了similar questions和GitHub isssues,但没有帮助。
解决方法
首先,检查是否使用最新的Robo3T。 MongoDB Atlas使用mongodb+srv://
协议,该协议在一段时间之前不受支持。
之后,请按照以下清单进行操作:
- 通过从MongoDB Atlas复制粘贴URL,使用导入
From SRV
; - MongoDB Atlas甚至对免费的沙盒(Atlas M0)帐户也使用副本集。因此,在创建过程中,请确保您使用了该类型;
- 填充或检查所有群集成员;
-
Set Name
应该设置。
重要差异:
-
Database
应该为admin
,而不是数据库名称(用于Heroku), -
Auth Mechanism
应该是SCRAM-SHA-1
- 选中
Manually specify visible databases
,然后在其中输入admin,<you database name from Heroku>
在“ TLS”标签上:
- 检查
Use TLS protocol
-
Authentication method
-Self-signed Certificate
现在应该可以了。
P.S。。以前,我在使用相同的db-name和user-name的Heroku上拥有相同的数据库时也遇到了问题,我还认为Auth机制应该是MONGODB-CR。但这没用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。