Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

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 })

사용자가 '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