Comment “Group By” avec MongoDB
Je voudrais savoir si il y a de toute façon je peux "groupe" mes résultats avec MongoDB/Php.
C'est le code que j'utilise pour afficher mes lignes:
$count = $col->find(array('order_id' => array('$gt' => '0')))->count();
J'ai besoin de les grouper par order_id
.
Apparemment, on ne peut pas faire un count()
sur un group()
comme find()
TRAVAUX: $countfind = $col->find()->count();
NE FONCTIONNE PAS: $countgroup = $col->group($keys)->count();
J'ai besoin de compter ce groupe s'il vous plaît.
Merci pour votre aide.
OriginalL'auteur Steffi | 2010-07-09
Vous devez vous connecter pour publier un commentaire.
Parfois, vous pouvez obtenir un tableau de valeurs distinctes dans une collection. Vous pouvez accomplir cela en utilisant la méthode distinct ():
http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html
OriginalL'auteur Евгений Раткевич
Il y a quelques détaillée de la documentation sur la commande de Groupe sur leur site web.
Il y a quelques exemples de Groupe à l'aide de la PHP bibliothèque ici.
Si votre jeu de données est vraiment grand, vous pouvez avoir besoin de regarder à l'exécution de la carte-réduit à "pré-groupe" de ces données.
OriginalL'auteur Gates VP
De nouvelles réponses à l'aide de Mongo agrégation cadre
Après cette question a été posée et répondue, 10gen publié Mongodb version 2.2 avec une agrégation cadre. Ainsi, le nouveau meilleur moyen de faire des Groupe de En est avec la $groupe opérateur. En PHP utiliser Exemple avec MongoCollection::total.
Pour info, 10gen a également une pratique SQL de Mongo Agrégation tableau de conversion bookmarking valeur. Elle présente des exemples de toutes les requêtes SQL que l'utilisation d'agrégation SQL et comment les traduire à Mongo.
OriginalL'auteur Old Pro