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

MongoDB में ऐरे मान प्राप्त करें

MongoDB में नेस्टेड ऐरे मानों को $elemMatch के साथ क्वेरी करना

गहरे नेस्टेड ऐरे संरचनाओं में विशिष्ट मानों वाले दस्तावेज़ खोजने के लिए नेस्टेड $elemMatch ऑपरेटर्स का उपयोग करें।

सैंपल डेटा बनाना (जटिल नेस्टेड संरचना)

> db.fetchingArrayValuesDemo.insertOne({
    "StudentName": "David",
    "StudentDetails": [{
        "FatherName": "Bob",
        "CountryName": "US",
        "Favourite": [{
            "Teacher": "DAVID",
            "Subject": ["MySQL", "MongoDB", "Java"],
            "Marks": [50, 60, 65]
        }]
    }]
});
> db.fetchingArrayValuesDemo.insertOne({
    "StudentName": "Robert",
    "StudentDetails": [{
        "FatherName": "Sam",
        "CountryName": "AUS",
        "Favourite": [{
            "Teacher": "MIKE",
            "Subject": ["Python", "C", "C++"],
            "Marks": [76, 89, 91]
        }]
    }]
});

दस्तावेज़ देखना

> db.fetchingArrayValuesDemo.find();

आउटपुट (जटिल नेस्टेड संरचना):


नेस्टेड $elemMatch क्वेरी: Teacher="DAVID" वाले दस्तावेज़ खोजें

> db.fetchingArrayValuesDemo.find({
    StudentDetails: {
        $elemMatch: {
            Favourite: {
                $elemMatch: {
                    Teacher: "DAVID"
                }
            }
        }
    }
});

आउटपुट (केवल David का दस्तावेज़):


$elemMatch क्यों आवश्यक है?

बिना $elemMatch के, क्वेरी अलग-अलग ऐरे एलिमेंट्स से शर्तों को पूरा कर सकती है। नेस्टेड $elemMatch सुनिश्चित करता है कि एक ही नेस्टेड एलिमेंट सभी शर्तों को पूरा करे।

सरल क्वेरी (यदि संरचना ज्ञात हो)


एग्रीगेशन विकल्प (अधिक नियंत्रण)

            
  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 में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de