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

कुल विधि में दो स्तंभों का योग

$facet का इस्तेमाल करें इनपुट दस्तावेज़ों के एक ही सेट पर एक ही चरण के भीतर कई एकत्रीकरण पाइपलाइनों को संसाधित करने के लिए पाइपलाइन चरण। आपके मामले में आपको अलग-अलग गणनाओं को एकत्रित करने की आवश्यकता है, फिर दो परिणामों में शामिल हों और अंतिम योगों की गणना करें।

इसे निम्न पाइपलाइन चलाकर प्रदर्शित किया जा सकता है:

db.collection.aggregate([
    { "$match": { "userid": "123" } },
    {
        "$facet": {
            "groupByPage": [
                { "$unwind": "$page" },
                { 
                    "$group": {
                        "_id": "$page",
                        "count": { "$sum": 1 }
                    }
                }
            ],   
            "groupByNewPage": [
                { "$unwind": "$newpage" },
                { 
                    "$group": {
                        "_id": "$newpage",
                        "count": { "$sum": 1 }
                    }
                }
            ]
        }
    },
    { 
        "$project": {
            "pages": {
                "$concatArrays": ["$groupByPage", "$groupByNewPage"]
            }
        }
    },
    { "$unwind": "$pages" },
    { 
        "$group": {
            "_id": "$pages._id",
            "count": { "$sum": "$pages.count" }
        }
    },
    { "$sort": { "count": -1 } }
], function(error, data){
    if (error) {
        console.log(error);
    } else {
        console.log(data);
    }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी 3 के लिए रमोंगोडब समर्थन

  2. MongoDB डॉट (।) कुंजी नाम में

  3. mongodb एक मूल्य से संपूर्ण दस्तावेज़ प्राप्त करें

  4. उबंटू 16.04 एलटीएस पर मोंगोडब चलाना

  5. IPad पर उल्का ऐप का उपयोग करना जिसे उल्का-अप के साथ दूरस्थ सर्वर पर तैनात किया गया था (मोंगोडब से कनेक्ट करने में समस्या)