किसी उपयोगकर्ता का नाम बदलने के लिए, आपको नया उपयोगकर्ता नाम सेट करने के लिए अपडेट() और $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" ] } ]
अब उपयोगकर्ता नाम का नाम बदलकर 'जॉन' से 'लैरी' कर दें -
> db.system.users.update({"user":"John"}, {$set:{"user":"Larry"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
आइए सत्यापित करें कि उपयोगकर्ता 'लैरी' नाम से बनाया गया है या getUser() का उपयोग नहीं कर रहा है -
> 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