사용자 이름을 바꾸려면 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 })
사용자가 'Larry'라는 이름으로 생성되었는지 또는 getUser()를 사용하지 않았는지 확인합시다 -
> 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