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