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 谢谢, -鲁帕
“mongodb://[用户名:密码@]XX.XX.XX.XX”是 mongodb_uri 的实际值还是您已将其替换为实际应用程序中的值?
“getaddrinfo failed”消息表明您在 mongodb_uri 中输入的主机名无效。
实际应用中替换数值后去掉了方括号([])。 “mongodb://用户名:密码@XX.XX.XX.XX”
就像魅力一样。! 非常感谢。
鲁帕
当我对尝试连接的用户帐户拥有受限权限时,我遇到了同样的错误,因此请尝试更改用户访问权限或使用具有更高权限的其他帐户
具有以下权限的用户失败 [email protected]
具有以下权限的用户有效(注意这是为 Atlas 应用程序创建的用户) atlasAdmin@admin
URI 应类似于“mongodb://用户名:密码@主机”,其中主机是主机名或 IP。
我在使用名称连接时发生了这种情况,但主机名发生了变化,因此我更改了 URI 以通过机器的 IP 进行连接。