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

नेस्टेड सरणी को एकत्रित करने के लिए MongoDB क्वेरी

<घंटा/>

MongoDB में नेस्टेड सरणी एकत्र करने के लिए, कुल () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo441.insertOne(
...    {
...
...       "Name" : "David",
...       "Age" : 21,
...
...       "details" : [
...          {
...             "id" : 1,
...             "CountryName" : "US",
...             "details1" : [
...                {
...                   "SubjectName" : "MySQL",
...                   "Score":56
...                },
...                {
...                   "SubjectName" : "MongoDB",
...                   "Score":78
...                }
...             ]
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e78cc05bbc41e36cc3caeb7")
}

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

> db.demo441.find();

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

{ "_id" : ObjectId("5e78cc05bbc41e36cc3caeb7"), "Name" : "David", "Age" : 21, "details" : [ { "id" : 1, "CountryName" : "US", "details1" : [ { "SubjectName" : "MySQL", "Score" : 56 }, { "SubjectName" : "MongoDB", "Score" : 78 } ] } ] }

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

> db.demo441.aggregate([{
...    $addFields: {
...       ResultOfDetails: {
...          $map: {
...             input: "$details",
...             as: "output",
...             in: {
...                id: "$$output.id",
...                CountryName: "$$output.CountryName",
...                details1: {
...                   $let: {
...                      vars: {
...                         last: {
...                            $arrayElemAt: ["$$output.details1", -1]
...                         }
...                      },
...                      in: {
...                         $cond: [{
...                            $eq: ["$$last.Score", 78]
...                         },
...                      ["$$last"],
...                         []
...
...                      }
...                   }
...                }
...             }
...          }
...       }
...    }
... }]).pretty();

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

{
   "_id" : ObjectId("5e78cc05bbc41e36cc3caeb7"),
   "Name" : "David",
   "Age" : 21,
   "details" : [
      {
         "id" : 1,
         "CountryName" : "US",
         "details1" : [
            {
               "SubjectName" : "MySQL",
               "Score" : 56
            },
            {
               "SubjectName" : "MongoDB",
               "Score" : 78
            }
         ]
      }
   ],
   "ResultOfDetails" : [
      {
         "id" : 1,
         "CountryName" : "US",
         "details1" : [
            {
               "SubjectName" : "MongoDB",
               "Score" : 78
            }
         ]
      }  
   ]
}

  1. MongoDB में उप-दस्तावेज़ों की क्वेरी सरणी

    उप-दस्तावेज़ों की एक सरणी को क्वेरी करने के लिए, MongoDB में $unwind का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo499.insertOne({ ... "details": ...    [ ...       { ...          Name :"MIT", ...    

  1. नेस्टेड सरणी को सॉर्ट करने के लिए MongoDB क्वेरी?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo505.insertOne( ... { ...    "details": [ ...    { ...       Name:"Chris", ...       "Score":58 ... &

  1. नेस्टेड दस्तावेज़ को अद्यतन करने के लिए MongoDB क्वेरी

    आइए हम दस्तावेजों के साथ एक संग्रह बनाते हैं - > db.demo595.insertOne( { "Information": [    { "_id": new ObjectId(), Name:"Chris" },    { _id:new ObjectId(), Name:"Robert" } ] } ); {    "acknowledged" : true,