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

MongoDB-তে $pull এবং $addToSet একসাথে ব্যবহার করা যায় কি?

বাল্ক অপারেশন (Bulk Operations) ব্যবহার

একই ডকুমেন্টে একই অপারেশনে $pull (মুছে ফেলা) এবং $addToSet (ইউনিক যোগ) করার জন্য initializeOrderedBulkOp() ব্যবহার করুন।

উদাহরণ: ডকুমেন্ট তৈরি

> db.pullAndAddToSetDemo.insertOne({ "StudentScores": [78, 89, 90] });
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a797e15e86fd1496b38af") }

বাল্ক অপারেশন: 89 আছে -> 99 যোগ, 90 আছে -> 90 মুছে ফেলা

> var bulk = db.pullAndAddToSetDemo.initializeOrderedBulkOp();
> bulk.find({ "StudentScores": 89 }).updateOne({ $addToSet: { "StudentScores": 99 } });
> bulk.find({ "StudentScores": 90 }).updateOne({ $pull: { "StudentScores": 90 } });
> bulk.execute();

আউটপুট:

BulkWriteResult({ "nMatched" : 2, "nModified" : 2, ... })

ফাইনাল ডেটা

> db.pullAndAddToSetDemo.find().pretty();

আউটপুট: StudentScores: [78, 89, 99] (90 মুছে গেলো, 99 যুক্ত হয়েছে)।

ব্যাখ্যা

  • initializeOrderedBulkOp() - অর্ডার্ড বাল্ক অপারেশন শুরু
  • প্রতি find().updateOne() আলাদা ফিল্টার/আপডেট
  • execute() - সব একসাথে অ্যাপ্লাই

নোট: MongoDB 3.2+ এ bulkWrite() ব্যবহার করা ভালো (আধুনিক API)।

  1. MySQL-এ একক সেলে একাধিক উপাদান সংরক্ষণ করা (JSON ব্যবহার)

  2. MySQL-এ DATETIME কলামে সময় যোগ করা (ADDTIME ফাংশন)

  3. C++-এ দেওয়া স্টিক সেট থেকে সম্ভাব্য রেক্ট্যাঙ্গেল ও স্কোয়ারের সংখ্যা

  4. Redis SADD: সেট তৈরি ও এলিমেন্ট যোগ করার দক্ষ পদ্ধতি