文法:
db.createUser(
{
user:<name_string>, #字元串
pwd:<password_strin>, #字元串
roles:[{role:<role_name>,db:<db_name>}] #數組
}
)
建立使用者:
使用者驗證:
檢視使用者:

db.dropUser(<user_name>) #删除某個使用者,授受字元串參數
db.dropAllUsers() #删除目前庫的所有使用者
要修改使用者密碼,要求使用者具有changePassword或changeOwnPassword的權限,有以下兩種方式用來修改使用者密碼:
db.changeUserPassword(<user_name>,<new_password>)
db.updateUser(<user_name>,{update_object})
db.changeUserPassword()示例:
<code>admin@undefined$ db.changeUserPassword("root","123456")</code>
可以看到在修改root使用者的密碼後,原來的密碼驗證就失敗了,但是目前這個會話還是可以正常執行操作,新會話則需要用修改後的密碼進行驗證
db.updateUser()示例:
<code>admin@undefined$ db.updateUser("root",{pwd:"admin123"})</code>
修改使用者權限(角色):
修改使用者角色也是使用db.updateUser()函數來實作的
我們先建立一個測試使用者readtest,它隻對test庫具備讀權限:
user:"readtest",
pwd:"123456",
roles:[{role:"read",db:"test"}]
可以看到這個使用者可以執行讀操作,寫操作是沒有權限的,現在我們通過db.updateUser()來擴充它的權限,記其具有讀寫權限。
<code>admin@undefined$ db.updateUser("readtest",{"roles":[{role:"readWrite",db:"test"}]})</code>
可以看到,當我們把readtest使用者的角色從read改成readWrite時,它就具有了對test庫的寫權限。通過db.updateUser()我們可以實作使用者權限的放大和縮小