2010-07-09 58 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的示例。