2010-07-09 32 views
5

Me gustaría saber si puedo agrupar mis resultados con MongoDB/Php.Cómo "Agrupar por" con MongoDB

Este es el código que estoy usando para mostrar mis filas:

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

que necesito para agruparlos por order_id.

Al parecer, no podemos hacer una count() en un group() como find()

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

no funciona: $countgroup = $col->group($keys)->count();

tengo que contar esto GroupBy favor.

Gracias por su ayuda.

Respuesta

0

Hay documentación detallada sobre el comando de grupo on their website.

Hay algunos ejemplos de Group que usa el PHP libarary here.

Si su conjunto de datos es realmente grande, es posible que tenga que consultar la ejecución del mapa: se reduce el "pregrupo" de estos datos.

+0

Gracias, lo intentaré – Steffi

0

Nueva respuesta usando Mongo marco de la agregación

Después de esta pregunta se le preguntó y respondió, publicado 10gen mongodb versión 2.2 con un marco de agregación . Entonces, la mejor forma de hacer Group By es con el $group operator. En PHP use MongoCollection::aggregate.

FYI, 10gen también tiene un útil SQL to Mongo Aggregation conversion chart digno de marcadores. Tiene ejemplos de todas las consultas SQL comunes que usan la agregación de SQL y cómo traducirlas a Mongo.