2016-02-08 70 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