কম্পিউটার

একটি অবজেক্ট-অ্যারেতে খালি বস্তুগুলি সরাতে MongoDB ক্যোয়ারী?


আপনি এর জন্য $pull অপারেটর ব্যবহার করতে পারেন। আসুন প্রথমে নথি সহ একটি সংগ্রহ তৈরি করি। এখানে, আমরা একটি খালি বস্তু −

যোগ করেছি
> db.removeEmptyObjectsDemo.insertOne(
   {
      "_id" :101,
      "LoginDate" :new ISODate(),
      "UserDetails" : [
         {
            "UserName" : "John"
         },
         {
         },
         {
            "UserName" : "Sam"
         }
      ]
   }
);
{ "acknowledged" : true, "insertedId" : 101 }

Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -

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

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{
   "_id" : 101,
   "LoginDate" : ISODate("2019-05-25T04:46:29.505Z"),
   "UserDetails" : [
      {
         "UserName" : "John"
      },
      {
      },
      {
         "UserName" : "Sam"
      }
   ]
}

একটি অবজেক্ট-অ্যারে -

-এ খালি অবজেক্ট অপসারণের জন্য নিচের ক্যোয়ারী রয়েছে
> db.removeEmptyObjectsDemo.update(
{},
{ "$pull": { "UserDetails": { "UserName": { "$exists": false } } } },
{ "multi": true }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আসুন উপরের সংগ্রহ থেকে নথিগুলি পরীক্ষা করি -

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

এটি নিম্নলিখিত আউটপুট তৈরি করবে। খালি বস্তুটি সফলভাবে সরানো হয়েছে −

{
   "_id" : 101,
   "LoginDate" : ISODate("2019-05-25T04:46:29.505Z"),
   "UserDetails" : [
      {
         "UserName" : "John"
      },
      {
         "UserName" : "Sam"
      }
   ]
}

  1. একটি নির্দিষ্ট নথি সরাতে MongoDB ক্যোয়ারী

  2. অবজেক্টের অ্যারের ভিতরে একাধিক মিল খুঁজে পেতে MongoDB ক্যোয়ারী?

  3. নথি থেকে সাবডকুমেন্ট সরাতে MongoDB ক্যোয়ারী?

  4. সংগ্রহ থেকে সম্পূর্ণ অ্যারে সরাতে MongoDB ক্যোয়ারী?