我有一个数据库,我分配了一个我想要立即删除的用户。
我的命令如下:
> 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
可能是什么原因以及如何从我的数据库中删除此用户?
答案 0 :(得分:17)
db.dropUser()
方法接受用户名的字符串参数,在您的情况下,由于参数无效,它会抛出错误。
尝试使用字符串:
> use admin
> db.dropUser("myuser")
或运行 dropUser
命令:
> use admin
> db.runCommand( { dropUser: "myuser" } )