MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

$लुकअप परिणाम mongodb . की गिनती

संपूर्ण छात्र डेटा प्राप्त करने के लिए आप कुछ ऐसा कर सकते हैं

db.student.aggregate(
        [
            {
            $lookup:
                {
                    from:"department",
                    localField:"branch",
                    foreignField:"_id",
                    as:"branch"
                }
            }
        ]
    )

यह आपको कुछ इस तरह देगा:

{
    "_id" : 1.0,
    "rollNumber" : 110.0,
    "name" : "Thor",
    "branch" : [ 
        {
            "_id" : 1.0,
            "name" : "CSE",
            "hod" : "abc"
        }
    ]
}

प्रत्येक विभाग के लिए छात्र डेटा की गणना प्राप्त करने के लिए

db.getCollection('student').aggregate(
    [
        {
        $lookup:
            {
                from:"department",
                localField:"branch",
                foreignField:"_id",
                as:"branch"
            }
        },
        {
            $group:
            {
                _id:"$branch",
                "numOfStudent":{$sum:1},
                "listOfStudents":{$push:"$name"}
            }
        }
    ]
)

यह आपको कुछ इस तरह देगा:

{
    "_id" : [ 
        {
            "_id" : 2.0,
            "name" : "IT",
            "hod" : "xyz"
        }
    ],
    "numOfStudent" : 1.0,
    "listOfStudents" : [ 
        "Ironman2"
    ]
}
{
    "_id" : [ 
        {
            "_id" : 1.0,
            "name" : "CSE",
            "hod" : "abc"
        }
    ],
    "numOfStudent" : 3.0,
    "listOfStudents" : [ 
        "Thor", 
        "Ironman", 
        "Ironman3"
    ]
}

आप $push:$name . को बदल सकते हैं करने के लिए $push:$_id अगर आप छात्रों के आईडी स्टोर करना चाहते हैं न कि उनके नाम।

संपादित करें "विभागों" संग्रह का उपयोग करके समान परिणाम प्राप्त करें:

db.department.aggregate([
{
    $lookup:
                {
                    from:"student",
                    localField:"students",
                    foreignField:"_id",
                    as:"studentsDetails"
                }
},
{
    $project:{
            _id:0,
            name:"$name",
            hod:"$hod",
            numOfStudents:{$size:"$studentsDetails"},
            students:"$studentsDetails"
        }
}
])

यह आपको कुछ इस तरह देगा:

{
    "name" : "CSE",
    "hod" : "abc",
    "numOfStudents" : 2,
    "students" : [ 
        {
            "_id" : 1.0,
            "rollNumber" : 110.0,
            "name" : "Thor",
            "branch" : 1.0
        }, 
        {
            "_id" : 3.0,
            "rollNumber" : 111.0,
            "name" : "Ironman2",
            "branch" : 2.0
        }
    ]
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग मोंगो टेम्पलेट। भू क्वेरी में क्रमित काम नहीं कर रहा है (नियरक्वेरी)

  2. एसक्यूएल में नंबरों को कैसे प्रारूपित करें

  3. शुरुआती के लिए MongoDB के साथ पायथन डेटाबेस प्रोग्रामिंग

  4. मोंगोडब में डेटा अपडेट करने में असमर्थ

  5. मोंगो परिणाम से _id हटाएं