2015-09-14 7 views
9

मैं निम्नलिखित समूहन piplineMongoDB गणना एकत्रीकरण सी # 2.0 चालक के बाद

var count = dbCollection. 
Aggregate(new AggregateOptions { AllowDiskUse = true }).Match(query). 
Group(groupby). 
ToListAsync().Result.Count(); 

और यह निम्न परिणाम हो जाता है:

{ 
    "result" : [ 
     { 
      "_id" : { 
       "ProfileId" : ObjectId("55f6c727965bb016c81971ba") 
      } 
     }, 
     { 
      "_id" : { 
       "ProfileId" : ObjectId("55f6c727965bb016c81971bb") 
      } 
     } 
    ], 
    "ok" : 1 
} 

लेकिन यह यह ग्राहक पर गिनती आपरेशन कर देगा लगता है, लेकिन कैसे इसे MongoDb में करने के लिए? मैं MongoDb 2.0 C# driver & MongoDb v. 3.0.2

+0

https://docs.mongodb.org/getting-started/csharp/aggregation/#group-documents-by-a-field-and-calculate-count – ThrowsException

+1

@ThrowsException ओपी संख्या की गणना करने की जरूरत है परिणामों के, प्रत्येक _id –

+1

के लिए गणना नहीं, क्या आप अपने संग्रह का एक उदाहरण दे सकते हैं, और समझा सकते हैं कि आप क्या गिनना चाहते हैं? मैं आपकी क्वेरी के लक्ष्य पर स्पष्ट नहीं हूं। साथ ही, प्रश्न के लिए क्वेरी और समूहबी स्टेटमेंट्स जोड़ें। – agarcian

उत्तर

6

एक निरंतर क्षेत्र 1. पहले की कुल राशि के साथ लगातार मैदान पर फिर से अपने समूह समारोह में जोड़े और फिर समूह (ताकि सभी परिणाम एक समूह में बांटा गया है) है (और केवल) परिणाम योग होगा।

पूर्व।

var count = dbCollection. 
Aggregate(new AggregateOptions { AllowDiskUse = true }).Match(query). 
Group(groupby).Group(<id>:{ConstantField},Total:{$sum:1}) 
ToListAsync().Result.First().GetValue("Total"). 
संबंधित मुद्दे