我正在尝试使用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上,不知道这是否会发生任何变化。
更新的答案: 试试这个。
client.testDB.add_user('user', 'password', roles=[{
'role':'root',
'db':'testDB',
}])
我向Atlas的客户支持询问了这个问题,他们给了我这个答案,希望能帮助其他人尝试同样的事情。简而言之,你不能用pymongo将用户添加到Atlas,这就是为什么它一直给出错误。
您好,MongoDB Atlas中的用户管理只能通过以下方式创建MongoDB用户来完成;通过Web UI或API使用Atlas的所有MongoDB用户都与admin数据库相关联;即他们的认证数据库是admin。身份验证数据库不确定用户的角色。请注意,Admin数据库用于身份验证,并不意味着保存客户数据。