Comment compter le nombre d'enregistrements avec un champ distinct dans la mangouste?
Tout en explorant mangouste pour nodejs, j'ai couru dans le problème d'avoir besoin de connaître le montant de l'utilisateur dans ma collection:
Ma collection a des enregistrements, chaque enregistrement a un utilisateur. Je veux savoir le montant de l'unique (différent) des utilisateurs.
Comment puis-je faire cela avec mangouste?
EDIT:
La base de données est de plus en plus assez rapide, est-il de toute façon à obtenir le nombre de retour de la DB au lieu de récupérer tous les enregistrements distincts et compter?
OriginalL'auteur askmike | 2012-09-16
Vous devez vous connecter pour publier un commentaire.
Voici une autre réponse que j'obtiens une exception lorsque j'essaie Reddest de l'approche avec la Mangouste 3.1.2 (ce qui semble être un bug dans la Mangouste à moi comme Reddest l'approche devrait être bon).
Vous pouvez appeler la
distinct
méthode sur votre collection de modèle, en précisant le nom de l'utilisateur-l'identification des domaines de la collection:Ou si vous voulez à la chaîne de la
distinct
appel à partir d'une recherche, d'inclure le rappel dans ledistinct
appel (ce qui a fonctionné pour moi):Mise à JOUR
Si vous voulez juste le comte sans se les valeurs, coller une
count()
appel à la chaîne:NOTE: cela ne fonctionne pas dans le dernier Mangouste code (3.5.2).
Bien sûr, j'ai juste ajouté une version qui le fait.
parfait, merci!
En fait, j'ai confirmé que le chaînage de compter comme mentionné dans la mise à JOUR n' pas appliquer les différentes filtre. Si vous cochez la sortie de la requête, vous obtenez le nombre de tous les enregistrements (ou autre filtre que vous appliquez).
Yep, je vois ce que tu veux dire. Il ne fonctionne pas dans la dernière version du code.
OriginalL'auteur JohnnyHK
Agrégation va travailler pour vous. Quelque chose comme ça:
OriginalL'auteur aaronheckmann
Si vous voulez juste obtenir le nombre d'interrogés collections, vous pouvez utiliser ceci:
OriginalL'auteur ScorpioCPH
Vous pouvez faire une requête distinct.
Mangouste Requêtes:
http://mongoosejs.com/docs/queries.html
MongoDB distincte de la requête:
http://www.mongodb.org/display/DOCS/Aggregation#Aggregation-Distinct
OriginalL'auteur The Reddest
J'ai juste besoin du numéro de différents musiciens, mais certains de le code ci-dessus ne fonctionne pas pour moi. Si j'ai utilisé le comte et distincte d'ensemble, je viens de recevoir le nombre total.
C'était ma solution:
OriginalL'auteur Leopold Kristjansson