ServerSelectionTimeoutError errno 11001 getaddrinfo 失败 python

mongodb_uri = "mongodb://[username:password@]XX.XX.XX.XX"

client = MongoClient(mongodb_uri)
db = client['database']
print(db)

collection_taxonomy = db['collection']

doc = collection_taxonomy.find()
pprint.pprint(doc)
for each_doc in doc:
    pprint.pprint(each_doc)  

当我尝试打印集合的每个文档时,我得到了 time out error 。但是,当我尝试连接到 localhost 时,我没有收到超时错误。

尝试与 connect=False client = MongoClient(mongodb_uri,connect=False) 连接

打印每个文档时仍然出现超时错误。有什么问题?感谢有人可以帮助我。我正在使用 Python 3.5 和 Pymongo 3.5.1 谢谢,-Roopa

stack overflow ServerSelectionTimeoutError errno 11001 getaddrinfo failed python
原文答案

答案:

作者头像

是“ mongodb:// [username:password@] xx.xx.xx.xx“ mongodb_uri的实际值,或者您是否已将其替换为实际应用程序中的值?

“ getAddrinfo失败”消息表示您在mongodb_uri中放置的主机名无效。

作者头像

在实际应用中替换值后,卸下了方括号([])。“ mongodb://用户名:password@xx.xx.xx.xx”

奇迹般有效。!万分感谢。

Roopa

作者头像

当我对尝试连接的用户帐户具有受限权限时,我遇到了同样的错误,因此请尝试更改用户访问权限或使用具有更高权限的其他帐户

具有以下权限的用户失败 readWrite@dbname.colname

具有以下权限的用户(注意这是为 Atlas 应用程序创建的用户) atlasAdmin@admin

作者头像

URI应该像“ mongodb:// username:password@host”,主机是主机名或ip。

当我与名称连接时,这发生在我身上,但是主机名更改了,因此我更改了URI通过计算机的IP连接。

相关问题