2010-07-09 60 views
5

我想知道是否有反正我可以用MongoDB/Php“分组”我的结果。如何通过MongoDB“分组”

这是我用来显示我行代码:

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

我需要将它们按order_id

显然,我们无法在group()作为find()

WORKS做count()$countfind = $col->find()->count();

不起作用:$countgroup = $col->group($keys)->count();

我需要算上这GROUPBY请。

感谢您的帮助。

回答

0

有关组命令on their website的一些详细文档。

有一些使用PHP libarary here的组的示例。

如果您的数据集非常大,您可能需要查看正在运行的map-reduce以将这些数据“预先分组”。

+0

谢谢,我会试试 – Steffi 2010-07-12 07:46:26

0

使用Mongo的聚合框架

,这一问题被提出和回答后,10gen公司发布了MongoDB的2.2版本与聚合框架的新答案。所以做Group By的最佳方式是使用$group operator。在PHP中使用MongoCollection::aggregate

仅供参考,10gen也有一个方便的SQL to Mongo Aggregation conversion chart值得的书签。它包含所有使用SQL聚合的常见SQL查询以及如何将它们转换为Mongo的示例。