Để đổ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