错误:在连接MongoDB时,Windows不支持Unix套接字。

31

我正在使用Robomongo工具访问MongoDB数据库,当我连接到我的数据库时:

输入图像描述

显示错误细节:

输入图像描述

如何修复?


@shA.t 相同的错误。 - Loint
6个回答

46

我遇到了相同的问题,通过在连接选项卡中删除完整的 URL(例如:mongodb://myuser:mypassword@mongodb-test.mydomain.com/my_database),并只输入 MongoDB 服务器的 URL:mongodb-test.mydomain.com 来解决了它。

接下来,在认证选项卡中,我勾选了“执行身份验证”复选框,指定了数据库、用户名和密码。

我还在高级选项卡中添加了数据库以防万一,现在可以无错误连接了。


使用 mongodb-test.mydomain.com 部分作为地址和以下身份验证部分运行良好。谢谢。 - Pramesh Bajracharya

11
尝试在地址栏中仅插入例如:ds12345.mlab.com,而不是完整的[http:// mongodb://<dbuser>:<dbpassword>@...],并创建用户以在mlab.com上进行身份验证,然后尝试连接。就像这样:

输入图像描述

然后:

输入图像描述


连接到不同的远程Mongo数据库会如何帮助他们? - Hawken MacKay Rives
那只是一个远程地址的示例。您可以使用自己的远程地址。 - Aswin Sekar
这很好,我也能够使用这个连接到mlab远程地址,而且没有出现OP错误。 - Alexander
使用类似Robo 3T这样的工具时,请查看被接受的答案,同时记得将你的DbUser、DbPassword和DbName拆分到认证选项卡中,将端口拆分到端口文本框中,其余部分保留为URL,应该可以正常工作。 - Andiana

7

虽然这个答案只与问题部分相关,我想在这里描述解决方案。

当我尝试通过Robo3T连接托管在Atlas上的MongoDB集群时,我遇到了这个问题。他们提供了一个带有协议的连接字符串(例如:mongodb+srv://<USER>:<PASSWORD>@database-mongodb.net/admin)。这是两个问题的组合:

  1. Robo3T不喜欢URI中的协议mongodb+srv://。您应该仅使用第二部分(在@之后)。像这样:database-mongodb.net
  2. Robo3T不喜欢分片。至少我无法通过那个连接字符串与它建立联系。据我所知,你需要那个协议才能连接到一个分片。由于你不能使用那种URI,你需要直接连接到主分片。为此,您需要使用主分片的URI构建新的连接字符串。像这样:database-shard-00-00-vemhh.mongodb.net并向Robo3T提供端口。此外,如果您使用MongoDB Atlas(在Robo3T中直接配置的自签名证书对我有效),您需要通过SSL连接。

4

只删除 [http://] 对我起了作用


1
我曾经遇到同样的问题,但是通过安装Robo 3T 1.3并从MongoDB SRV连接字符串中导入连接详细信息来解决了它。请参考这个链接:

使用Robo 3T 1.3连接远程数据库的步骤

请记得在连接字符串中替换用户和身份验证选项卡中的密码。
顺便说一下,图片中的连接字符串是虚构的。

1
获取新版本的Robo3T客户端...它可以自动从+srv链接导入。

Robo 3T 1.3.1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接