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