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

MongoDB: विभिन्न कलेक्शन एलिमेंट्स में यूनिक प्रॉपर्टीज का योग करें


विभिन्न कलेक्शन एलिमेंट्स में यूनिक प्रॉपर्टीज का योग निकालने के लिए, $cond के साथ $group का उपयोग करें। यह परिणामी कीमत देता है।

आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं:

> db.demo580.insertOne({
    "Name":"John",
    "Id1":"110",
    "Id2":"111",
    "Price":10.5
}); { "acknowledged" : true, "insertedId" : ObjectId("5e918cebfd2d90c177b5bcae") }

> db.demo580.insertOne({
    "Name":"John",
    "Id1":"111",
    "Id2":"",
    "Price":9.5
}); { "acknowledged" : true, "insertedId" : ObjectId("5e918cecfd2d90c177b5bcaf") }

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

> db.demo580.find();

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

{ "_id" : ObjectId("5e918cebfd2d90c177b5bcae"), "Name" : "John", "Id1" : "110", "Id2" : "111", "Price" : 10.5 }
{ "_id" : ObjectId("5e918cecfd2d90c177b5bcaf"), "Name" : "John", "Id1" : "111", "Id2" : "", "Price" : 9.5 }

विभिन्न कलेक्शन एलिमेंट्स में यूनिक प्रॉपर्टीज का योग निकालने के लिए क्वेरी:

> db.demo580.aggregate([
    {
        $project: {
            Id1: 1,
            Id2: 1,
            Price: 1,
            match: {
                $cond: [
                    {$eq: ["$Id2", ""]},
                    "$Id1",
                    "$Id2"
                ]
            }
        }
    },
    {
        $group: {
            _id: '$match',
            Price: {$sum: '$Price'},
            resultId: {
                $addToSet: {
                    $cond: [
                        {$eq: ['$match', '$Id1']},
                        null,
                        '$Id1'
                    ]
                }
            }
        }
    },
    {$unwind: '$resultId'},
    {$match: { resultId: { $ne: null } }},
    {
        $project: {
            Id1: '$resultId',
            Price: 1,
            _id: 0
        }
    }
])

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

{ "Price" : 20, "Id1" : "110" }

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

    इसके लिए, $avg के साथ $group और aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo598.insertOne({ Information:Student, id:100, details:[ {Name:Chris,Marks:75}, {Name:Bob,Marks:55} ] }); { acknowledged : true, insertedId : ObjectId(5e9

  1. MongoDB संग्रह से सभी फील्ड नाम कुशलतापूर्वक पुनर्प्राप्त करें MongoDB संग्रह से सभी फील्ड नाम कुशलतापूर्वक पुनर्प्राप्त करें

    परिचय मूल रूप से 18 जनवरी, 2019 को ObjectRocket.com/blog पर प्रकाशित। अपने स्कीमा को मान्य करने के लिए, फील्ड में टाइपो डीबग करने के लिए, या उन फील्ड को ढूंढने के लिए जिन्हें आप सेट नहीं करना चाहिए, आपको अपने MongoDB® संग्रह में सभी कुंजियों की समझ की आवश्यकता है। ObjectRocket सहित कई MongoDB-as-a-

  1. अपने MongoDB कलेक्शन में सभी की नाम आसानी से प्राप्त करें अपने MongoDB कलेक्शन में सभी की नाम आसानी से प्राप्त करें

    अपने स्कीमा को मान्य करने, फील्ड्स में टाइपो डीबग करने, या उन फील्ड्स को ढूंढने के लिए जो सेट नहीं होने चाहिए, आपको अपने MongoDB कलेक्शन में सभी कीज़ की समझ प्राप्त करने की आवश्यकता होगी। MongoDB-as-a-service कंपनियों में से कई, ObjectRocket सहित, UI में सीधे ऐसा करने का एक आसान तरीका प्रदान करती ह