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

MongoDB में शर्त से मेल खाने वाले कई सब-डॉक्यूमेंट्स से फ़ील्ड कैसे प्राप्त करें?

कई सब-डॉक्यूमेंट्स से फ़ील्ड प्राप्त करने के लिए, $unwind के साथ MongoDB एग्रीगेट का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:

> db.demo671.insertOne(
{
    "details" : [
        {
            "id" : "1"
        },
        {
            CountryName:"US",
            "details1" : [
                {
                    "id" : "1"
                },
                {
                    "id" : "2"
                }
            ]
        },
        {
            CountryName:"UK",
            "details1" : [
                {
                    "id" : "2"
                },
                {
                    "id" : "1"
                }
            ]
        },
        {
            CountryName:"AUS",
            "details1" : [
                {
                    "id" : "1"
                }
            ]
        }
    ]
}
) { "acknowledged" : true, "insertedId" : ObjectId("5ea3e5d004263e90dac943e0") }

find() मेथड की मदद से संग्रह के सभी दस्तावेज़ प्रदर्शित करें:

> db.demo671.find();

यह निम्न आउटपुट देगा:

{ "_id" : ObjectId("5ea3e5d004263e90dac943e0"), "details" : [ { "id" : "1" }, { "CountryName" : "US", "details1" : [ { "id" : "1" }, { "id" : "2" } ] }, { "CountryName" : "UK", "details1" : [ { "id" : "2" }, { "id" : "1" } ] }, { "CountryName" : "AUS", "details1" : [ { "id" : "1" } ] } ] }

MongoDB में शर्त से मेल खाने वाले कई सब-डॉक्यूमेंट्स से फ़ील्ड प्राप्त करने की क्वेरी:

> db.demo671.aggregate([
    {$unwind: '$details'},
    {$match: {'details.details1.id': '1'}},
    {$project: {_id: 0, Country: '$details.CountryName'}}
]).pretty()

यह निम्न आउटपुट देगा:

{ "Country" : "US" }
{ "Country" : "UK" }
{ "Country" : "AUS" }
  1. - MongoDB से फ़ील्ड्स का सबसेट प्राप्त करना

    MongoDB में डॉट नोटेशन का उपयोग करके फ़ील्ड चयन MongoDB में find() विधि के दूसरे पैरामीटर (प्रोजेक्शन) में डॉट नोटेशन का उपयोग करके नेस्टेड फ़ील्ड्स को शामिल या बाहर किया जा सकता है। नमूना डेटा बनाना > db.demo307.insertOne({ CleintId:101, ClientDetails:{ClientFirstName:Chris,Age:34},

  1. - MongoDB में एकाधिक डॉक्यूमेंट फील्ड्स पर सटीक मिलान क्वेरी

    MongoDB में $in और $and का उपयोग करके एकाधिक फील्ड्स पर सटीक मिलान करना MongoDB में एकाधिक फील्ड्स पर सटीक मान मिलान के लिए $and के साथ $in ऑपरेटर का संयोजन उपयोग करें। यह प्रत्येक फील्ड के लिए मानों के सेट में से किसी एक से मेल खाता है। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo422.insertOne({

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी