2012-04-06 12 views
0

Ist es möglich, eine solche Abfrage in MongoDB zu erstellen?MongoDB Query - ist das möglich?

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

Wenn ja, wie? PHP Beispiel wäre perfekt.

+2

Es heißt aus gutem Grund NoSQL: P –

Antwort

3

Der mongoDB Anruf würde wie folgt aussehen:

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

, die alle hier gefunden werden kann: http://www.mongodb.org/display/DOCS/SQL+to+Aggregation+Framework+Mapping+Chart

Ich werde die php Ihnen überlassen, denn das ist der einfache Teil.

+2

Beachten Sie, dass dies nur mit MongoDB 2.1+ funktioniert, da das Aggregation Framework noch nicht in einer stabilen Version veröffentlicht wurde. – kristina

+0

Ja, das stimmt. Ich gab das einfachste Beispiel für ihn (da er nicht eine Version gab) map/reduce wäre die andere Option, die auch auf der mongodb-Website über den von mir bereitgestellten Link eindeutig dokumentiert ist. – jzworkman