Pymongo KeyError:'$ err'MongoDB Atlas

时间:2017-04-29 09:40:57

标签: python mongodb pymongo pymongo-3.x mongodb-atlas

我正在关注此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() ?  >" >

1 个答案:

答案 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”。