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

MongoDB का उपयोग करके अलग-अलग क्रम में मानों के साथ सटीक ऐरे मैच कैसे खोजें?

<घंटा/>

अलग-अलग क्रम में मानों के साथ सटीक सरणी मिलान खोजने के लिए, आप $all ऑपरेटर का उपयोग कर सकते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं। निम्नलिखित प्रश्न है

>db.exactMatchArrayDemo.insertOne({"StudentName":"David","StudentAge":22,"StudentGameScores":[45,78,98]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9c94702d6669774125246c")
}
>db.exactMatchArrayDemo.insertOne({"StudentName":"Chris","StudentAge":23,"StudentGameScores":[45,78]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9c94a42d6669774125246d")
}

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

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

यह निम्नलिखित आउटपुट उत्पन्न करेगा

{
   "_id" : ObjectId("5c9c94702d6669774125246c"),
   "StudentName" : "David",
   "StudentAge" : 22,
   "StudentGameScores" : [
      45,
      78,
      98
   ]
}
{
   "_id" : ObjectId("5c9c94a42d6669774125246d"),
   "StudentName" : "Chris",
   "StudentAge" : 23,
   "StudentGameScores" : [
      45,
      78
   ]
}

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

> db.exactMatchArrayDemo.find({ "StudentGameScores": { "$size" : 2, "$all": [ 78, 45 ] } }).pretty();

यह निम्नलिखित आउटपुट उत्पन्न करेगा

{
   "_id" : ObjectId("5c9c94a42d6669774125246d"),
   "StudentName" : "Chris",
   "StudentAge" : 23,
   "StudentGameScores" : [
      45,
      78
   ]
}

सटीक सरणी मिलान खोजने के लिए क्वेरी निम्नलिखित है लेकिन ऑर्डर कोई फर्क नहीं पड़ता। हमने "StudentGameScores" फ़ील्ड को 3 मानों के साथ प्राप्त करने के लिए एक अलग आकार निर्धारित किया है

> db.exactMatchArrayDemo.find({ "StudentGameScores": { "$size" : 3, "$all": [ 78, 45 ] } }).pretty();

यह निम्नलिखित आउटपुट उत्पन्न करेगा

{
   "_id" : ObjectId("5c9c94702d6669774125246c"),
   "StudentName" : "David",
   "StudentAge" : 22,
   "StudentGameScores" : [
      45,
      78,
      98
   ]
}

  1. MongoDB एकत्रीकरण में अधिकतम मूल्य वाले सरणी तत्वों का मिलान और समूह कैसे करें?

    इसके लिए MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo510.insertOne( ... {... विवरण:[... {... नाम:क्रिस,... स्कोर:45...},... {... नाम:डेविड,... स्कोर:91... }... ]... }... );{ स्वीकृत :सच, insertedId :ObjectId(5e8845fb987b6e0e9d18f584)} संग्रह से सभी

  1. मैं सभी से मेल खाने के लिए मोंगोडीबी में सरणी फ़ील्ड के साथ कैसे काम करूं?

    MongoDB में सभी का मिलान करने के लिए, $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों का चयन करता है जहाँ किसी फ़ील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo695.insertOne({"ListOfValues":[100,200,500,800]}); {    &

  1. MongoDB क्वेरी एक विशिष्ट मान से अधिक सरणी मान वाले दस्तावेज़ों से मिलान करने के लिए

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें कम से कम एक तत्व के साथ एक सरणी फ़ील्ड होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo701.insertOne({"ListOfValues":[100,200,300]}); { &