ในการเปลี่ยนชื่อผู้ใช้ คุณต้องใช้ 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