Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để đổi tên tên người dùng trong MongoDB?

Để đổi tên người dùng, bạn cần sử dụng update () và $ set để đặt tên người dùng mới. Sau đây là cú pháp -

db.system.users.update({"user":"yourOldUserName"}, {$set:{"user":"yourNewUserName"}});

Đầu tiên, hiển thị tất cả người dùng từ cơ sở dữ liệu MongoDB -

> use admin;
switched to db admin

> db.getUsers();

Điều này sẽ tạo ra kết quả sau -

[
   {
      "_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"
      ]
   }
]

Bây giờ đổi tên người dùng từ ‘John’ thành ‘Larry’ -

> db.system.users.update({"user":"John"}, {$set:{"user":"Larry"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Hãy để chúng tôi xác minh người dùng đã được tạo bằng tên ‘Larry’ hay không sử dụng getUser () -

> db.getUser('Larry');

Điều này sẽ tạo ra kết quả sau -

{
   "_id" : "admin.John",
   "user" : "Larry",
   "db" : "admin",
   "roles" : [
      {
         "role" : "userAdminAnyDatabase",
         "db" : "admin"
      }
   ],
   "mechanisms" : [
      "SCRAM-SHA-1",
      "SCRAM-SHA-256"
   ]
}

Nếu bây giờ bạn cố gắng lấy tên người dùng cũ hơn thì giá trị null sẽ được hiển thị. Hãy cùng chúng tôi xem -

> db.getUser('John');

Điều này sẽ tạo ra kết quả sau -

Null