如何在 MongoDB 中重新命名使用者名稱?
要重新命名使用者,你需要使用 update() 和 $set 來設定新使用者名稱。以下為語法 −
db.system.users.update({"user":"yourOldUserName"}, {$set:{"user":"yourNewUserName"}});
首先,顯示來自 MongoDB 資料庫的所有使用者 −
> use admin; switched to db admin > db.getUsers();
這將產生以下輸出 −
[ { "_id" : "admin.Chris", "user" : "Chris", "db" : "admin", "roles" : [ { "role" : "readWrite", "db" : "test" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }, { "_id" : "admin.John", "user" : "John", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }, { "_id" : "admin.Robert", "user" : "Robert", "db" : "admin", "roles" : [ { "role" : "readWrite", "db" : "sample" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } ]
現在將使用者名稱從 ‘John’ 重新命名為 ‘Larry’ −
> db.system.users.update({"user":"John"}, {$set:{"user":"Larry"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
讓我們驗證一下是否已經使用 getUser() 建立了名為 ‘Larry’ 的使用者 −
> db.getUser('Larry');
這將產生以下輸出 −
{ "_id" : "admin.John", "user" : "Larry", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
如果你現在嘗試獲取舊使用者名稱,那麼將顯示一個 null 值。我們來看看 −
> db.getUser('John');
這將產生以下輸出 −
Null
廣告