从python创建mongodb用户

时间:2018-07-24 12:36:01

标签: python mongodb pymongo

我正在尝试使用pymongo从Python创建数据库用户。但我不断收到pymongo.errors.OperationFailure:CMD_NOT_ALLOWED:createUser错误

client = MongoClient("mongodb+srv://username:password@mycluster-mogiz.mongodb.net/admin")
db = client["testDB"]
db.command("createUser", "user", pwd="password")
我错过了什么吗?谢谢。

注意:我的数据库位于Mongo Atlas上,不知道这是否有任何改变。

2 个答案:

答案 0 :(得分:0)

更新的答案:
试试这个。

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

答案 1 :(得分:0)

我向Atlas客户支持人员提出了这个问题,他们给了我这个答案,希望它可以帮助其他尝试相同操作的人。简而言之,您无法使用pymongo将用户添加到Atlas,这就是为什么它会不断提示错误。

  

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