2016-02-08 39 views
3

数据库中有一个用户,该用户应该重命名。如何重命名用户? MongoDB用户管理参考有方法db.updateUser,但我看不到如何为用户设置新名称。 如何更新用户名? ty如何在MongoDB中重命名用户?

db.updateUser(
    "<username>", 
    { 
    customData : { <any information> }, 
    roles : [ 
       { role: "<role>", db: "<database>" } | "<role>", 
       ... 
      ], 
    pwd: "<cleartext password>" 
    }, 
    writeConcern: { <write concern> } 
) 

回答

5

您是否尝试更新用户?

db.system.users.update({"user":"oldname"}, {$set:{"user":"newname"}}) 

该命令需要root访问管理数据库。

+0

这种方式没有尝试。为什么接下来会有db.updateUser()支持?无论如何感谢您的解决方案:)。 – Willmore

+0

那么,我的头顶'updateUser'加密普通密码,并且不需要访问'system.users'数据库。 –

+3

btw命令'db.system.users.update({“user”:“oldname”},{$ set:{“user”:“newname”}})'给出错误('“errmsg”:“未经授权在admin上为具有以下角色的用户执行命令{update:'':roles:[{role:“userAdminAnyDatabase”,db:“admin”}]'必须以角色身份进行认证'roles:[{角色:“root”,db:“admin”}]'成功发出数据库,system.users.update(... – Willmore