aggregation framework - MongoDB: How can I calculate total count without using $group operator -


मेरे पास निम्न परिणाम हैं:

  "परिणाम": [{"_id": " लंदन "," गिनती ": 9 4}," "" ":" पेरिस "," गिनती ": 135}, {" _id ":" ल्वीव "," गिनती ": 95}]  

और यहां क्वेरी है:

  {"$ group": {_id: "$ city", "count": {"$ sum": 1}}}  

अतः, मैं चाहता हूं कि कुछ कैसे न केवल समूहीकृत किया जाए मुझे लगता है कि यह अपेक्षित परिणाम दिखाने के लिए बेहतर होगा:

  "परिणाम": [{"" _id ":" लंदन "," गणना ": 49 9," कुल ": 729}, {" _id "" "," कुल ": 729}]  
": "" "" "" "" "" "135", "कुल": 729}, {"_id": "Lviv", "count" P> अपेक्षित परिणाम में "कुल" फ़ील्ड है जो "गिनती" फ़ील्ड की राशि के रूप में गणना की गई है (49 9 + 135 + 95 = 729)। संपादित : मुझे केवल एकत्रीकरण ढांचे का उपयोग करना चाहिए!

क्या कोई मुझे इस के साथ मदद कर सकता है?

आपको पहले कुल संख्या की गणना करना होगा:

  db.coll.count (..., फ़ंक्शन (गलती, कुल) { < / Pre> 

और उसके बाद अपने समूह कमांड में उस परिणाम का उपयोग करें:

  {"$ group": {_id: "$ city", count: {"$ sum": 1} , कुल: कुल}  

संपादित करें:

यदि आप केवल एकत्रीकरण ढांचा का उपयोग करना चाहते हैं, तो इसके बजाय db की कोशिश करें। Coll.count () :

  {"$ group": {_id: 1, गणना: {"$ sum": 1}}}  

Comments