使用 pymodm 连接 MongoDB 服务器的 Python 脚本中的身份验证失败错误

MongoDB 服务器托管在 docker 容器中。创建了一个具有 root 权限的超级用户,可以使用用户名和密码登录。使用 pymodm 从 Python 脚本连接到 MongoDB 服务器。


我可以从 shell 和 Compass 工具连接到 docker 托管的 MongoDB 服务器。使用 Python 脚本以编程方式连接和插入新项目的努力因身份验证失败错误而失败。


脚本如下:


from pymodm import connect

from pymodm import MongoModel, fields

import urllib.parse


class Dummy(MongoModel):    

    email = fields.EmailField(primary_key=True)

    name = fields.CharField()


    class Meta:

        connection_alias = 'Mongo'


# Establish a connection to the database.

mongo_uri = "mongodb://monadmin:" + urllib.parse.quote("myPassword@123") + "@192.168.x.x:27017/Test"


# Establish a connection to the database.

def Connect2DB()

    try:

        #connect('mongodb://localhost:27017/PMOTest')

        connect(mongo_uri, alias="Mongo")

        print("db connection success")

        return True

    except:

        print("db connection failed")

        return False


def Insert_record():

    try:

        Dummy(email="hello@test.com", name="test").save()     

        print("save success")

    except ex:

        print("save failed")



if __name__ == "__main__":

    if Connect2DB():

        Insert_record()

连接成功但插入记录失败并出现以下错误:pymongo.errors.OperationFailure: Authentication failed


吃鸡游戏
浏览 313回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python