Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Mongodb

किसी वस्तु-सरणी में खाली वस्तुओं को निकालने के लिए MongoDB क्वेरी?

<घंटा/>

आप इसके लिए $pull ऑपरेटर का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं। यहाँ, हमने एक खाली वस्तु भी जोड़ी है -

> db.removeEmptyObjectsDemo.insertOne(
   {
      "_id" :101,
      "LoginDate" :new ISODate(),
      "UserDetails" : [
         {
            "UserName" : "John"
         },
         {
         },
         {
            "UserName" : "Sam"
         }
      ]
   }
);
{ "acknowledged" : true, "insertedId" : 101 }

खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -

> 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 क्वेरी वस्तुओं की सरणी के अंदर एक से अधिक मिलान खोजने के लिए?

    इसके लिए $ और साथ में $regex का उपयोग करें। $and एक या अधिक अभिव्यक्तियों की एक सरणी पर एक तार्किक और संचालन करता है और उन दस्तावेज़ों का चयन करता है जो सरणी में सभी अभिव्यक्तियों को संतुष्ट करते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo525.insertOne({details:[{Name:Mike,,CountryName:UK

  1. दस्तावेज़ से उप-दस्तावेज़ को हटाने के लिए MongoDB क्वेरी?

    किसी दस्तावेज़ से उप-दस्तावेज़ को हटाने के लिए, अद्यतन() के साथ $pull का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo538.insertOne( ... { ...    id:101, ...    "details": ...    { ...       anotherDetails: ...   &nb

  1. संग्रह से संपूर्ण सरणी निकालने के लिए MongoDB क्वेरी?

    संग्रह से संपूर्ण सरणी को हटाने के लिए, MongoDB में $unset का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo609। insertOne({ListOfSubject:[Java]});{ स्वीकृत:सच, insertId:ObjectId(5e97469af57d0dc0b182d62d)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें - db.de