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

MongoDB उप-दस्तावेज़ मिलान के आधार पर छाँटने के लिए?

<घंटा/>

उप-दस्तावेज़ मिलान के आधार पर छाँटने के लिए, आप समग्र ढांचे का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.sortBySubDocumentsDemo.insertOne(
   {
      "StudentName": "Chris",
      "StudentDetails": [
         {
            "Age":21,
            "StudentScore":91
         },
         {
            "Age":22,
            "StudentScore":99
         },
         {
            "Age":21,
            "StudentScore":93
         }
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd57e297924bb85b3f48942")
}
> db.sortBySubDocumentsDemo.insertOne(
   {
      "StudentName": "Robert",
      "StudentDetails": [
         {
            "Age":24,
            "StudentScore":78
         },
         {
            "Age":21,
            "StudentScore":86
         },
         {
            "Age":23,
            "StudentScore":45
         }
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd57e4c7924bb85b3f48943")
}

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

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

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

{
   "_id" : ObjectId("5cd57e297924bb85b3f48942"),
   "StudentName" : "Chris",
   "StudentDetails" : [
      {
         "Age" : 21,
         "StudentScore" : 91
      },
      {
         "Age" : 22,
         "StudentScore" : 99
      },
      {
         "Age" : 21,
         "StudentScore" : 93
      }
   ]
}
{
   "_id" : ObjectId("5cd57e4c7924bb85b3f48943"),
   "StudentName" : "Robert",
   "StudentDetails" : [
      {
         "Age" : 24,
         "StudentScore" : 78
      },
      {
         "Age" : 21,
         "StudentScore" : 86
      },
      {
         "Age" : 23,
         "StudentScore" : 45
      }
   ]
}

उप-दस्तावेज़ मिलान के आधार पर छाँटने की क्वेरी निम्नलिखित है। यहां, हम स्टूडेंटस्कोर के आधार पर छांट रहे हैं -

> db.sortBySubDocumentsDemo.aggregate([
   {$match: { 'StudentDetails.Age': 21 }},
   {$unwind: '$StudentDetails'},
   {$match: {'StudentDetails.Age': 21}},
   {$project: {_id: 0, "StudentName": 1, 'StudentDetails.StudentScore': 1}},
   {$sort: { 'StudentDetails.StudentScore': 1 }},
   {$limit: 5}
]);

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

{ "StudentName" : "Robert", "StudentDetails" : { "StudentScore" : 86 } }
{ "StudentName" : "Chris", "StudentDetails" : { "StudentScore" : 91 } }
{ "StudentName" : "Chris", "StudentDetails" : { "StudentScore" : 93 } }

  1. मैं MongoDB में प्राकृतिक कैसे छाँट सकता हूँ?

    MongoDB में प्राकृतिक सॉर्ट करने के लिए $natural का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - ObjectId(5ea530d6a0b7e db.demo684.insertOne({Value:40});{ acknowledge :true, insertId :ObjectId(5ea530d8a7e81adc6a0b395a)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें

  1. दस्तावेजों से मिलान करने के लिए मोंगोडीबी क्वेरी जिसका _id उप-दस्तावेज़ के हिस्से के रूप में सरणी में है?

    आइए हम दस्तावेजों के साथ एक संग्रह बनाते हैं - db.demo568.insertOne({ _id:101, विवरण:[ {id :101 }, { id:103 } ] });{ स्वीकृत :सच, insertedId :101 } संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें - db.demo568.find(); यह निम्नलिखित आउटपुट उत्पन्न करेगा - db.demo569.insertO

  1. मोंगोडीबी संग्रह को ऐरे मूल्य से क्रमबद्ध करें?

    MongoDB संग्रह को Array मान के आधार पर सॉर्ट करने के लिए, $sort के साथ समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo577.insertOne( ...    { ... ...       "student": { ...          "details": [ ...