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

MongoDB में सबडॉक्यूमेंट ऐरे के nth एलिमेंट (वेरिएबल इंडेक्स) पर क्वेरी

इसके लिए $let के साथ $expr का उपयोग करें। यहां $let का उपयोग अस्थायी वेरिएबल परिभाषित करने के लिए किया जाता है। $expr का उपयोग एग्रीगेशन एक्सप्रेशन के लिए किया जाता है। कलेक्शन बनाएं:

> db.demo72.insertOne({
    StudentDetails: [
        { "Name": "Chris", "Age": 21 },
        { "Name": "David", "Age": 23 },
        { "Name": "Bob", "Age": 20 }
    ]
}); 
{ "acknowledged": true, "insertedId": ObjectId("5e29b4ad71bf0181ecc42269") }

सभी डॉक्यूमेंट्स देखें:

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

आउटपुट:


सबडॉक्यूमेंट ऐरे के nth एलिमेंट (वेरिएबल इंडेक्स) पर क्वेरी:

> db.demo72.find({
    $expr: {
        $let: {
            vars: { fst: { $arrayElemAt: ["$StudentDetails", 1] } },
            in: { $eq: ["$$fst.Name", "David"] }
        }
    }
})

परिणाम:

            
  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 में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }

  1. - MongoDB क्वेरी: एग्रीगेशन में ऐरे एलिमेंट का औसत प्राप्त करें

    ऐरे एलिमेंट्स का औसत प्राप्त करने के लिए, $avg का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo584.insertOne({Marks:[75,50,85,60,80]}); { acknowledged : true, insertedId : ObjectId(5e91d827fd2d90c177b5bcc2) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज प्रदर्शित करें: >