我正在关注此https://www.mongodb.com/blog/post/getting-started-with-python-and-mongodb入门教程。我可以使用mongo shell连接到群集,但不能与pymongo(Python:3.6.1,Pymongo 3.4.0)连接。 Pymongo与当地的mongodb合作得很好。问题是什么?以下是我得到的例外情况:
<base href=" < ?php echo base_url() ? >" >
答案 0 :(得分:1)
我相信这是一个地图集错误,我已经向团队报告了。问题是,如果您失败登录Atlas,因为您的用户名或密码不正确,它的回复方式会使PyMongo抛出KeyError
而不是正确的{{1} }。
但是,如果使用用户名和密码正确格式化连接字符串,PyMongo可以与Atlas一起使用。确保您的用户名和密码是URL引用的。将您的用户名和密码替换为此Python代码:
OperationFailure("auth failed")
取出输出并将其放入Atlas给你的连接字符串,例如如果您的用户名是jesse@example.com并且您的密码是“foo:bar”,请将其放在字符串的第一部分,并从您帐户的Atlas控制面板获取其余字符串:
from urllib import quote_plus
print(quote_plus('MY USERNAME'))
print(quote_plus('MY PASSWORD'))
请注意“jesse@example.com”如何变为“jesse%40example.com”,“foo:bar”变为“foo%3Abar”。