【问题标题】:ServerSelectionTimeoutError errno 11001 getaddrinfo failed pythonServerSelectionTimeoutError errno 11001 getaddrinfo 失败 python
【发布时间】:2018-02-12 22:44:21
【问题描述】:
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 谢谢, -鲁帕

【问题讨论】:

    标签: python mongodb pymongo nosql


    【解决方案1】:

    “mongodb://[username:password@]XX.XX.XX.XX”是 mongodb_uri 的实际值还是您在实际应用程序中用它代替了值?

    “getaddrinfo failed”信息表明你在mongodb_uri中输入的主机名无效。

    【讨论】:

      【解决方案2】:

      实际应用中代入值后去掉方括号([])。 "mongodb://username:password@XX.XX.XX.XX"

      像魅力一样工作。! 非常感谢。

      鲁帕

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

          URI 应该类似于“mongodb://username:password@host”,其中主机是主机名或 IP。

          我在用名字连接的时候发生了这种情况,但是主机名改变了,所以我改变了URI以通过机器的IP连接。

          【讨论】:

            猜你喜欢
            • 2018-11-23
            • 2014-05-16
            • 2021-10-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-09-26
            相关资源
            最近更新 更多