2010-07-09 16 views
5

Vorrei sapere se c'è comunque che posso "raggruppare" i miei risultati con MongoDB/Php.Come "Raggruppa per" con MongoDB

Questo è il codice che sto utilizzando per visualizzare le mie righe:

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

ho bisogno di raggrupparli per order_id.

A quanto pare, non possiamo fare un count() su un group() come find()

OPERE: $countfind = $col->find()->count();

non funziona: $countgroup = $col->group($keys)->count();

ho bisogno di contare questo GroupBy favore.

Grazie per il vostro aiuto.

risposta

0

C'è una documentazione dettagliata sul comando Gruppo on their website.

Alcuni esempi di gruppo utilizzano PHP libarary here.

Se il tuo set di dati è molto grande, potrebbe essere necessario controllare la mappa di esecuzione: si riduce a "pre-raggruppare" questi dati.

+0

Grazie, ci proverò – Steffi

0

Nuova risposta utilizzando Mongo aggregazione quadro

Dopo questa domanda è stato chiesto e ha risposto, 10gen rilasciato MongoDB versione 2.2 con un quadro di aggregazione . Quindi il nuovo modo migliore per fare Group By è con lo $group operator. In PHP utilizzare MongoCollection::aggregate.

FYI, 10gen ha anche un utile valore di bookmarking pari a SQL to Mongo Aggregation conversion chart. Ha esempi di tutte le query SQL comuni che utilizzano l'aggregazione SQL e come tradurle in Mongo.