사용자 이름을 바꾸려면 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