如何从MongoDB数据库中删除用户

16

我有一个数据库,现在我想删除其中一个用户的权限。

我的命令如下:

> show dbs
admin     0.000GB
users     0.000GB
local     0.000GB
> use admin
switched to db admin
> show users
{
    "_id" : "admin.root",
    "user" : "root",
    "db" : "admin",
    "roles" : [
        {
            "role" : "readWriteAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "dbAdminAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "clusterAdmin",
            "db" : "admin"
        }
    ]
}
{
    "_id" : "admin.myuser",
    "user" : "myuser",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ]
}

当我想要删除用户 myuser 时,我会使用以下命令:

> db.dropUser(myuser)
2016-02-11T14:13:21.107+0000 E QUERY    [thread1] ReferenceError: myuser is not defined :
@(shell):1:1

这个问题的原因是什么,我怎样才能从我的数据库中删除这个用户?


对于其他想要删除用户的人,我发现这篇文章对于删除特定数据库用户非常有帮助。https://tecadmin.net/create-drop-users-in-mongodb/ - luckyging3r
1个回答

34
db.dropUser()方法接受一个字符串参数作为用户名,在你的情况下,它会因为参数无效而抛出错误。
尝试使用一个字符串:
> use admin
> db.dropUser("myuser")

或运行dropUser命令:

> use admin
> db.runCommand( { dropUser: "myuser" } )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接