MongoDB Atlas 身份验证在 Python 上失败

我已经在 Heroku 上部署了这个 Python 应用程序,我希望它连接到 MongoDB Atlas 集群。我用我的字符串连接到集群,但由于某种原因,我不断raise OperationFailure(msg % errmsg, code, response)

pymongo.errors.OperationFailure: bad auth Authentication failed.检查两次,用户和密码都正确。知道为什么会这样吗?


from pymongo import MongoClient

import time

import random

import time

import datetime



client = MongoClient('mongodb+srv://USER:<MYPASSWORD>@test-2liju.mongodb.net/test?retryWrites=true')


db = client.one


mycol = client["tst"]



while True:



    test = int(random.randrange(-99999990,90000000,1))


    dic = {"num": test}


    result = db.tst.insert_one(dic)



    print(test)

    time.sleep(5)


HUWWW
浏览 268回答 3
3回答

人到中年有点甜

不要在密码中使用任何特殊字符,例如“+”或“=”。我使用 OpenSSL 生成像 u4wY9AOwnOLMY+h9EQ== 这样的密码。遇到错误的身份验证身份验证失败。使用 MongoDB Compass 后,它告诉我不要使用特殊字符,所以我删除了它们并使用像 'u4wY9AOwnOLMYh9EQ'。然后它起作用了。

狐的传说

检查您从 Mongodb Atlas Connections 中选择的 Python 驱动程序版本的兼容性。mongoengine Flask 不支持 3.4 以上的版本

SMILET

愚蠢的错误,我不得不输入MYPASSWORD而不是<MYPASSWORD>,没有<>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java