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

कौन सी MongoDB क्वेरी एक ही मान को एक सरणी में कई बार पाती है?

<घंटा/>

आप कुछ स्क्रिप्ट के साथ $where ऑपरेटर का उपयोग कर सकते हैं।

आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> dbsameValueMultipleTimesDemoinsertOne(
   {
      "ListOfPrice":[
         {"Price": 110},
         {"Price":130},
         {"Price": 145}
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefc4e6ef71edecf6a1f6b9")
}
> dbsameValueMultipleTimesDemoinsertOne(
   {
      "ListOfPrice":[
         {"Price": 110},
         {"Price":178},
         {"Price": 110}
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefc4e7ef71edecf6a1f6ba")
}

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

> dbsameValueMultipleTimesDemofind()pretty();

आउटपुट

{
   "_id" : ObjectId("5cefc4e6ef71edecf6a1f6b9"),
   "ListOfPrice" : [
      {
         "Price" : 110
      },
      {
         "Price" : 130
      },
      {
         "Price" : 145
      }
   ]
}
{
   "_id" : ObjectId("5cefc4e7ef71edecf6a1f6ba"),
   "ListOfPrice" : [
      {
         "Price" : 110
      },
      {
         "Price" : 178
      },
      {
         "Price" : 110
      }
   ]
}

एक सरणी में एक ही मान को कई बार खोजने के लिए क्वेरी निम्नलिखित है -

> dbsameValueMultipleTimesDemofind({
   "$where": function() {
      return thisListOfPricefilter(function(p) {
         return pPrice == 110;
      })length > 1;
   }
})

आउटपुट

{ "_id" : ObjectId("5cefc4e7ef71edecf6a1f6ba"), "ListOfPrice" : [ { "Price" : 110 }, { "Price" : 178 }, { "Price" : 110 } ] }

  1. यदि आईडी किसी दस्तावेज़ फ़ील्ड सरणी मान के बराबर है, तो बाहर करने के लिए MongoDB क्वेरी

    इसके लिए $in के साथ $not का प्रयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - [    {       id: "101",       subjectid: [          "102"       ]    },    {       i

  1. MongoDB क्वेरी वस्तुओं की सरणी के अंदर एक से अधिक मिलान खोजने के लिए?

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

  1. एक विशिष्ट मान प्राप्त करने के लिए MongoDB में एक सरणी क्वेरी करें

    किसी सरणी से एक विशिष्ट मान प्राप्त करने के लिए, $project के साथ-साथ समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo761.insertOne( ...    { ...       "details": [ ...          { ...