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

MongoDB में नेस्टेड JSON ऐरे से वैल्यू प्राप्त करें

MongoDB में डॉट नोटेशन से नेस्टेड JSON ऐरे क्वेरी करना

गहरे नेस्टेड ऐरे में वैल्यू खोजने के लिए डॉट नोटेशन का उपयोग करके पूरा पथ निर्दिष्ट करें।

कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें

> db.nestedJSONArrayDemo.insertOne({
  "ClientDetails": {
    "ClientPersonalDetails": [
      { "CountryName": "US" },
      { "CountryName": "AUS" },
      { "ClientName": "Chris" },
      { "ClientName": "David" }
    ]
  }
});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cbb2b64f4b851c3a13bc") }

> db.nestedJSONArrayDemo.insertOne({
  "ClientDetails": {
    "ClientPersonalDetails": [
      { "CountryName": "Belgium" },
      { "CountryName": "Canada" },
      { "CountryName": "Egypt" }
    ]
  }
});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cc14b64f4b851c3a13bd") }

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

> db.nestedJSONArrayDemo.find().pretty();
{
  "_id": ObjectId("5cd2cbb2b64f4b851c3a13bc"),
  "ClientDetails": {
    "ClientPersonalDetails": [
      { "CountryName": "US" },
      { "CountryName": "AUS" },
      { "ClientName": "Chris" },
      { "ClientName": "David" }
    ]
  }
}
{
  "_id": ObjectId("5cd2cc14b64f4b851c3a13bd"),
  "ClientDetails": {
    "ClientPersonalDetails": [
      { "CountryName": "Belgium" },
      { "CountryName": "Canada" },
      { "CountryName": "Egypt" }
    ]
  }
}

नेस्टेड ऐरे में "Canada" खोजें

> db.nestedJSONArrayDemo.find({"ClientDetails.ClientPersonalDetails.CountryName": "Canada"}).pretty();
{
  "_id": ObjectId("5cd2cc14b64f4b851c3a13bd"),
  "ClientDetails": {
    "ClientPersonalDetails": [
      { "CountryName": "Belgium" },
      { "CountryName": "Canada" },
      { "CountryName": "Egypt" }
    ]
  }
}

कैसे काम करता है

  • MongoDB ऑटोमैटिकली ऐरे के अंदर ऑब्जेक्ट के फ़ील्ड खोजता है
  • ClientDetails.ClientPersonalDetails.CountryName पथ:
    • ClientDetails - टॉप लेवल ऑब्जेक्ट
    • ClientPersonalDetails - ऐरे फ़ील्ड
    • CountryName - ऐरे के ऑब्जेक्ट में फ़ील्ड
  • ऐरे के किसी भी एलिमेंट में मैच मिलने पर डॉक्यूमेंट वापस आता है

नोट

यह क्वेरी ऐरे के किसी भी एलिमेंट में "Canada" ढूंढती है, न कि विशिष्ट इंडेक्स पर।

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

    MongoDB में नेस्टेड ऐरे को एग्रीगेट करने के लिए aggregate() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo441.insertOne( ...    { ... ...       "Name" : "David", ...       "Age" : 21, ... ...     &n

  1. - MongoDB संग्रह से डेटा कैसे पुनर्प्राप्त करें?

    संग्रह से एकल दस्तावेज़ लौटाने के लिए MongoDB में findOne() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo463.insertOne({"StudentName":"Chris Brown","StudentAge":21,"StudentCountryName":"US"});{    "acknowledged&q

  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