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

MongoDB-তে $pull ব্যবহার করে চাইল্ড কালেকশন থেকে অবজেক্ট মুছে ফেলা

MongoDB-তে নেস্টেড অ্যারে বা চাইল্ড কালেকশন থেকে নির্দিষ্ট সাব-ডকুমেন্ট মুছে ফেলতে $pull অপারেটর ব্যবহার করা হয়। এটি শর্ত পূরণকারী সব এলিমেন্ট অ্যারे থেকে রিমুভ করে।

উদাহরণ: নেস্টেড স্ট্রাকচার সহ ডকুমেন্ট

> db.demo715.insertOne({
    _id: 1,
    details: [
        { 'id': '101',
          'Information': [
              { 'studentid': '102', "Name": "Bob" },
              { 'studentid': '103', "Name": "Chris" }
          ]
        }
    ]
});

মুছে ফেলার আগে

> db.demo715.find();

আউটপুট: Information অ্যারেতে দুইটি সাব-ডকুমেন্ট (Bob এবং Chris)।

studentid 102 (Bob) মুছে ফেলা

> db.demo715.update(
    { "details.id": '101' },
    { $pull: { 'details.$.Information': { studentid: '102', "Name": "Bob" } } }
);

রেজাল্ট: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

মুছে ফেলার পর

> db.demo715.find();

আউটপুট: Information অ্যারেতে শুধু Chris রয়েছে।

মূল পয়েন্ট:

  • details.$.Information - পজিশনাল $ কোয়েরিতে ম্যাচ করা details এলিমেন্টকে নির্দেশ করে
  • $pull - শর্ত মিলে যাওয়া সব এলিমেন্ট মুছে ফেলে (একাধিক হলে সব)
  • শর্তে একাধিক ফিল্ড দিয়ে স্পেসিফিক এলিমেন্ট টার্গেট করা যায়
  1. MongoDB-এ তারিখ অনুযায়ী গ্রুপ করে নামের তালিকা বের করা

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

  3. MongoDB-তে createIndex() দিয়ে নেস্টেড ফিল্ডে ইন্ডেক্স তৈরি করা

  4. C#-এ Collection-র প্রথম ঘটনা মুছে ফেলা