MongoDB-এ ডেটাবেস ইউজারের নাম পরিবর্তন করতে db.system.users কালেকশনে update() এবং $set ব্যবহার করা হয়। এটি অ্যাডমিন ডেটাবেসে করা হয়।
সব ইউজার দেখুন (admin ডেটাবেসে)
> use admin; switched to db admin > db.getUsers();আউটপুট (অংশিক):
[
{ "_id": "admin.Chris", "user": "Chris", "db": "admin", "roles": [{ "role": "readWrite", "db": "test" }], ... },
{ "_id": "admin.John", "user": "John", "db": "admin", "roles": [{ "role": "userAdminAnyDatabase", "db": "admin" }], ... },
{ "_id": "admin.Robert", "user": "Robert", "db": "admin", "roles": [{ "role": "readWrite", "db": "sample" }], ... }
]
ইউজার 'John' কে 'Larry' তে রিনেম করা
> db.system.users.update({"user":"John"}, {$set:{"user":"Larry"}});
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
নতুন ইউজার 'Larry' যাচাই করুন
> db.getUser('Larry');
আউটপুট:
{
"_id": "admin.John",
"user": "Larry",
"db": "admin",
"roles": [{ "role": "userAdminAnyDatabase", "db": "admin" }],
"mechanisms": ["SCRAM-SHA-1", "SCRAM-SHA-256"]
}
লক্ষ্য করুন: _id এখনো admin.John দেখাচ্ছে (ইন্টারন্যাল আইডি পরিবর্তন হয় না), কিন্তু user ফিল্ড আপডেট হয়েছে।
পুরনো নাম 'John' খোঁজলে নাল পাওয়া যাবে
> db.getUser('John');
আউটপুট:
null
সতর্কতা: MongoDB ৩.০+ এ ইউজার ম্যানেজমেন্টের জন্য db.updateUser() বা db.dropUser() + db.createUser() ব্যবহার করা ভালো। সরাসরি system.users আপডেট করা ডিপ্রিকেটেড।