2012-04-06 5 views
0

Est-ce possible d'effectuer une requête comme celle de MongoDB?MongoDB Query - est-ce possible?

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

Si oui, comment? L'exemple de PHP serait parfait.

+2

Il est appelé NoSQL pour une raison: P –

Répondre

3

L'appel MongoDB serait la suivante:

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

qui peuvent tous être trouvés ici: http://www.mongodb.org/display/DOCS/SQL+to+Aggregation+Framework+Mapping+Chart

Je laisse le php à vous, puisque c'est la partie facile.

+2

Notez que cela fonctionnera uniquement avec MongoDB 2.1+, car l'infrastructure d'agrégation n'a pas encore été publiée dans une version stable. – kristina

+0

Oui, c'est vrai. Je donnais l'exemple le plus simple pour lui (puisqu'il n'a pas donné de version) map/reduce serait l'autre option qui est aussi clairement documentée sur le site web de mongodb à partir du lien que j'ai fourni. – jzworkman

Questions connexes