2017-01-13 37 views
2

我无法连接到副本集。MongoDB找不到合适的服务器

[MongoDB\Driver\Exception\ConnectionTimeoutException]                            
No suitable servers found (`serverSelectionTryOnce` set): 
[Server closed connection. calling ismaster on 'a.mongodb.net:27017'] 
[Server closed connection. calling ismaster on 'b.mongodb.net:27017'] 
[Server closed connection. calling ismaster on 'c.mongodb.net:27017'] 

然而,我可以帮我连接使用MongoChef

+0

亲切,确保'bindIp'在'/ etc/mongod.conf'正确添加。 –

回答

6

切换到127.0.0.1任何本地主机引用。 有本地主机,127.0.0.1之间的差异

参见:localhost vs. 127.0.0.1

MongoDB中可以设置为在UNIX插座TCP/IP

如果一切都失败运行,我发现在所有情况下工作最一致的是:

在您的hosts文件中,确保您有一个名称分配给您想要的IP地址使用(除127.0.0.1外)。

192.168.0.101 coolname

192.168.0.101 coolname.somedomain.com

在mongodb.conf:

bind_ip = 192.168.0.101

重启蒙戈

注意1:从命令行访问mongo时,您现在必须指定主机。

mongo --host=coolname

NOTE2:您还必须更改为新名称localhost或127.0.0.1任何引用。

$client = new MongoDB\Client("mongodb://coolname:27017");

+0

我同时使用了localhost和127.0.0.1,但是它不能与windows 10系统一起使用。 Windows更新后无法正常工作。 –

+0

@shankar msr我已经添加了一些可能帮助你的附加注释。 – mcmacerson