2017-01-13 2 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' в'/и т.д./mongod.conf' корректно добавляется. –

ответ

6

Переключения любых ссылок локального хоста на 127.0.0.1 помог мне. Существует разница между локальным и 127.0.0.1

См: localhost vs. 127.0.0.1

MongoDB может быть настроен для работы на сокете UNIX или TCP/IP

Если все остальное терпит неудачу, то, что я нашел, что работает наиболее последовательно во всех ситуациях, является следующим:

В вашем файле хостов убедитесь, что у вас есть имя, присвоенное 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

Restart Монго

ПРИМЕЧАНИЕ 1: При доступе к mongo из командной строки вам нужно указать хост.

mongo --host=coolname

Примечание 2: Вы также должны изменить какие-либо ссылки на любой локальный или 127.0.0.1 новое имя.

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

+0

Я использовал и localhost vs. 127.0.0.1, но не работал с системой Windows 10. После обновления Windows он работает неправильно. –

+0

@shankar msr Я добавил несколько дополнительных заметок, которые могут вам помочь. – mcmacerson

Смежные вопросы