从python创建mongodb用户

问题描述 投票:1回答:2

我正在尝试使用pymongo从Python创建一个db用户。但我一直在收到pymongo.errors.OperationFailure:CMD_NOT_ALLOWED:createUser error

client = MongoClient("mongodb+srv://username:[email protected]/admin")
db = client["testDB"]
db.command("createUser", "user", pwd="password")

我错过了什么吗?谢谢。

注意:我的数据库是在Mongo Atlas上,不知道这是否会发生任何变化。

python mongodb pymongo
2个回答
0
投票

更新的答案: 试试这个。

client.testDB.add_user('user', 'password', roles=[{
    'role':'root',
    'db':'testDB',
}])

0
投票

我向Atlas的客户支持询问了这个问题,他们给了我这个答案,希望能帮助其他人尝试同样的事情。简而言之,你不能用pymongo将用户添加到Atlas,这就是为什么它一直给出错误。

您好,MongoDB Atlas中的用户管理只能通过以下方式创建MongoDB用户来完成;通过Web UI或API使用Atlas的所有MongoDB用户都与admin数据库相关联;即他们的认证数据库是admin。身份验证数据库不确定用户的角色。请注意,Admin数据库用于身份验证,并不意味着保存客户数据。

© www.soinside.com 2019 - 2024. All rights reserved.