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

MongoDB क्वेरी: नेस्टेड ऐरे को एग्रीगेट करें


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

> 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, Rank: 1, CountryName:US }, { Name:Stanford University, Rank: 2 }, { Name:University of California, Berkeley, Rank: 3 }

  1. - MongoDB में नेस्टेड सरणी को कैसे सॉर्ट करें?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo505.insertOne( { details: [ { Name:Chris, Score:58 }, { Name:Bob, Score:45 }, { Name:John, Score:68 }, { Name:David, Score:46 } ] }); { ackn

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo595.insertOne({ Information: [ { _id: new ObjectId(), Name:Chris }, { _id:new ObjectId(), Name:Robert } ] }); { acknowledged : true, insertedId : ObjectId(5e93369cfd2d90c177b5bce4) } find() मेथड की मदद से कलेक्शन के सभी