কম্পিউটার টিউটোরিয়াল

MongoDB-এ ইউজারনেম রিনেম করা (update + $set)

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 আপডেট করা ডিপ্রিকেটেড।

  1. MongoDB-এ কালেকশন ড্রপ কীভাবে করবেন?

  2. MongoDB-এ সব ডকুমেন্টের ফিল্ড নাম পরিবর্তন (rename) করার পদ্ধতি

  3. MongoDB কনসোল ক্লিয়ার করার পদ্ধতি

  4. MongoDB-এ কালেকশন রিনেম করা (renameCollection)