如何从我的mongodb数据库中删除用户?

时间:2016-02-11 14:14:25

标签: mongodb

我有一个数据库,我分配了一个我想要立即删除的用户。

我的命令如下:

> 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

可能是什么原因以及如何从我的数据库中删除此用户?

1 个答案:

答案 0 :(得分:17)

db.dropUser() 方法接受用户名的字符串参数,在您的情况下,由于参数无效,它会抛出错误。

尝试使用字符串:

> use admin
> db.dropUser("myuser")

或运行 dropUser 命令:

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