2010-07-09 15 views
5

के साथ "ग्रुप बाय" कैसे करें, मैं जानना चाहूंगा कि वैसे भी मैं अपने परिणामों को "मोंगोडीबी/पीएचपी" के साथ "समूह" कर सकता हूं।मोंगोडीबी

$count = $col->find(array('order_id' => array('$gt' => '0')))->count(); 

मैं order_id द्वारा उन्हें समूह की जरूरत है:

इस कोड को मैं अपने पंक्तियों को प्रदर्शित करने का उपयोग कर रहा है।

जाहिर है, हम एक group() रूप find()

कार्यों पर एक count() नहीं कर सकते: $countfind = $col->find()->count();

काम नहीं करता: $countgroup = $col->group($keys)->count();

मैं कृपया इस GroupBy गिनती करने के लिए की जरूरत है।

आपकी मदद के लिए धन्यवाद।

उत्तर

0

समूह कमांड on their website पर कुछ विस्तृत दस्तावेज हैं।

PHP libarary here का उपयोग कर समूह के कुछ उदाहरण हैं।

यदि आपका डेटा सेट वास्तव में बड़ा है, तो आपको इस डेटा को "प्री-ग्रुप" में मानचित्र-कमी को चलाने की आवश्यकता हो सकती है।

+0

धन्यवाद, मैं इसे आजमाऊंगा – Steffi

2

कभी-कभी आप संग्रह में विशिष्ट मानों की एक सरणी प्राप्त करना चाह सकते हैं। आप अलग() पद्धति का उपयोग करके ऐसा कर सकते हैं:

$ages = $dm->createQueryBuilder('User') 
->distinct('age') 
->getQuery() 
->execute(); 

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html

+0

समस्या यह है कि आप अलग-अलग उपयोग करते समय -> सीमा() का उपयोग नहीं कर सकते हैं() –

0

न्यू जवाब मोंगो एकत्रीकरण ढांचे

इस्तेमाल करने के बाद इस सवाल का एक एकत्रीकरण ढांचे के साथ पूछा और जवाब था, 10gen जारी किया MongoDB संस्करण 2.2 । तो समूह द्वारा करने का नया सबसे अच्छा तरीका $group operator के साथ है। PHP में MongoCollection::aggregate का उपयोग करें।

एफवाईआई, 10gen में बुकमार्किंग के लायक SQL to Mongo Aggregation conversion chart भी आसान है। इसमें सभी सामान्य SQL क्वेरी का उदाहरण है जो SQL एकत्रीकरण का उपयोग करते हैं और उन्हें मोंगो में अनुवाद कैसे करें।