MongoDB找不到合适的服务器

Ber*_*rdo 6 php-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']
Run Code Online (Sandbox Code Playgroud)

但是,我可以使用MongoChef进行连接

mcm*_*son 8

将任何localhost引用切换到127.0.0.1帮助了我.localhost和127.0.0.1之间存在差异

请参阅:localhost与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

重启Mongo

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

mongo --host=coolname

注意2:您还必须将对localhost或127.0.0.1的任何引用更改为新名称.

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