কম্পিউটার

কিভাবে একটি অ্যারের মধ্যে নথি মুছে ফেলার জন্য MongoDB $pull ব্যবহার করবেন?


একটি অ্যারের মধ্যে নথি মুছে ফেলার জন্য আপনাকে $pull অপারেটরের সাথে আপডেট কমান্ড ব্যবহার করতে হবে। আসুন আমরা নথি সহ একটি সংগ্রহ তৈরি করি। নিম্নোক্ত প্রশ্নটি

> db.deleteDocumentsDemo.insertOne(
... {
...    "_id":100,
...    "StudentsDetails" : [
...       {
...          "StudentId" : 1,
...          "StudentName" : "John"
...       },
...       {
...          "StudentId" : 2,
...          "StudentName" : "Carol"
...       },
...       {
...          "StudentId" : 3,
...          "StudentName" : "Sam"
...       },
...       {
...          "StudentId" : 4,
...          "StudentName" : "Mike"
...       }
...    ]
... }
...
... );
{ "acknowledged" : true, "insertedId" : 100 }
> db.deleteDocumentsDemo.insertOne(
... {
...    "_id":200,
...    "StudentsDetails" : [
...       {
...          "StudentId" : 5,
...          "StudentName" : "David"
...       },
...       {
...          "StudentId" : 6,
...          "StudentName" : "Ramit"
...       },
...       {
...          "StudentId" : 7,
...          "StudentName" : "Adam"
...       },
...       {
...          "StudentId" : 8,
...          "StudentName" : "Larry"
...       }
...    ]
... }
...
... );
{ "acknowledged" : true, "insertedId" : 200 }

Find() পদ্ধতি

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে
> db.deleteDocumentsDemo.find().pretty();

এটি নিম্নলিখিত আউটপুট তৈরি করবে

{
   "_id" : 100,
   "StudentsDetails" : [
      {
         "StudentId" : 1,
         "StudentName" : "John"
      },
      {
         "StudentId" : 2,
         "StudentName" : "Carol"
      },
      {
         "StudentId" : 3,
         "StudentName" : "Sam"
      },
      {
         "StudentId" : 4,
         "StudentName" : "Mike"
      }
   ]
}
{
   "_id" : 200,
   "StudentsDetails" : [
      {
         "StudentId" : 5,
         "StudentName" : "David"
      },
      {
         "StudentId" : 6,
         "StudentName" : "Ramit"
      },
      {
         "StudentId" : 7,
         "StudentName" : "Adam"
      },
      {
         "StudentId" : 8,
         "StudentName" : "Larry"
      }
   ]
}

নিচে একটি অ্যারের মধ্যে নথি মুছে ফেলার জন্য ক্যোয়ারী

> db.deleteDocumentsDemo.update({},
... {$pull: {StudentsDetails: {StudentName: "David"}}},
... {multi: true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 1 })

আমাদের নথি মুছে ফেলা হয়েছে কি না পরীক্ষা করা যাক. নিম্নোক্ত প্রশ্নটি

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

এটি নিম্নলিখিত আউটপুট তৈরি করবে

{
   "_id" : 100,
   "StudentsDetails" : [
      {
         "StudentId" : 1,
         "StudentName" : "John"
      },
      {
         "StudentId" : 2,
         "StudentName" : "Carol"
      },
      {
         "StudentId" : 3,
         "StudentName" : "Sam"
      },
      {
         "StudentId" : 4,
         "StudentName" : "Mike"
      }
   ]
}
{
   "_id" : 200,
   "StudentsDetails" : [
      {
         "StudentId" : 6,
         "StudentName" : "Ramit"
      },
      {
         "StudentId" : 7,
         "StudentName" : "Adam"
      },
      {
         "StudentId" : 8,
         "StudentName" : "Larry"
      }
   ]
}

উপরের নমুনা আউটপুটটি দেখুন, 5 মান সহ "স্টুডেন্টআইডি" যেমন ছাত্র নাম "ডেভিড" মুছে ফেলা হয়েছে৷


  1. MongoDB-তে একটি অ্যারের উপর ভিত্তি করে নথিগুলি কীভাবে ফিল্টার করবেন?

  2. MongoDB তে $type কিভাবে ব্যবহার করবেন?

  3. MongoDB-তে একটি নথি থেকে আমি কিভাবে অ্যারে মান মুছে ফেলব?

  4. কিভাবে আমি একটি অ্যারের মধ্যে মিলিত বস্তুর সংখ্যার উপর ভিত্তি করে MongoDB তে নথি খুঁজে পেতে পারি?