2012-04-06 104 views
0

這是可能在MongoDB中做這樣的查詢嗎?MongoDB查詢 - 這可能嗎?

SELECT `pro` , COUNT(*) , SUM(`age`) 
FROM `k_pin` 
GROUP BY `pro 

如果是,怎麼辦? PHP示例將是完美的。

+2

它被稱爲NoSQL的原因:P – 2012-04-06 13:28:15

回答

3

MongoDB的通話將如下所示:

db.k_pin.aggregate([ 
{ $group: {_id:"$pro", count:{$sum:1}, sum_age:{$sum:"$age"}} } 
]) 

哪個都可以在這裏找到:http://www.mongodb.org/display/DOCS/SQL+to+Aggregation+Framework+Mapping+Chart

我將離開PHP給你,因爲這是最容易的部分。

+2

請注意,這將只適用於MongoDB 2.1+,因爲聚合框架尚未發佈在一個穩定的版本。 – kristina 2012-04-06 14:32:17

+0

是的,這是真的。我爲他提供了最簡單的例子(因爲他沒有提供版本)map/reduce將是另一個選項,它也從我提供的鏈接清楚地記錄在mongodb網站上。 – jzworkman 2012-04-06 14:37:32