2017-01-13 65 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