MongoDB में सिस्टम यूजर कलेक्शन अपडेट करके यूजरनेम बदलना
MongoDB में मौजूदा यूजर का नाम बदलने के लिए system.users कलेक्शन पर update() के साथ $set उपयोग करें।
सिंटैक्स
db.system.users.update(
{"user": "yourOldUserName"},
{$set: {"user": "yourNewUserName"}}
);
वर्तमान यूजर देखें
> 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 })
नए यूजरनेम से वेरिफाई करें
> db.getUser('Larry');
{
"_id": "admin.John",
"user": "Larry",
"db": "admin",
"roles": [{"role": "userAdminAnyDatabase", "db": "admin"}],
"mechanisms": ["SCRAM-SHA-1", "SCRAM-SHA-256"]
}
पुराने यूजरनेम से चेक करें (नल मिलेगा)
> db.getUser('John');
Null
महत्वपूर्ण नोट
- _id नहीं बदलता - अभी भी "admin.John" दिखाता है (यह यूजर का आंतरिक पहचानकर्ता है)
- केवल
userफ़ील्ड बदलता है जो लॉगिन नाम है - यह तरीका डिप्रिकेटेड है नए MongoDB वर्जन में
आधुनिक तरीका (MongoDB 3.0+)
// नया यूजर बनाएं
db.createUser({user: "Larry", pwd: "password", roles: [...]})
// पुराना यूजर ड्रॉप करें
db.dropUser("John")
// या updateUser कमांड (4.4+)
db.runCommand({
updateUser: "John",
customData: {newUsername: "Larry"}
})