J'utilise une table qui a le nom d'utilisateur et la durée de travail de cet utilisateur. La collection a plusieurs heures de durée pour le même utilisateur. Je veux afficher le nom d'utilisateur distinct et la somme des heures de durée pour ce nom d'utilisateur.Get valeur distincte en utilisant mongodb
db.collection.aggregate([
{ "$match": { FacilityID: '59a53f0c6077b2a029c52b7f', ProjectID: '59c1171f734bcb3038e2bb67'} },
{ "$group": { _id: { TeamMemberUserID: "$TeamMemberUserID",Duration: "$Duration"}} },
{ "$project": { TeamMemberUserID: "$_id.TeamMemberUserID", _id: 0, Duration: "$_id.Duration", _id: 0} }
])
il affiche le nom d'utilisateur 3 fois et montrant
siva 40
siva 40
siva 40
pour cet utilisateur a une durée différente pour différents types de travaux comme: 20 heures pour la conception, 10 heures pour le codage, 10 pour les essais.
mais je veux afficher l'utilisateur avec la somme des heures de tous ses travaux.
User Name: Phase duration
Siva Testing 10
siva Coding 10
siva Designing 20
sortie Expecting:
Siva 40
La requête ci-dessus le nom d'utilisateur d'exécuter tout regroupement avec les heures de durée. La durée des heures varie en raison de l'affichage du nom d'utilisateur en fonction de la durée.
Pouvez-vous s'il vous plaît [modifier] votre question d'inclure quelques exemples de documents de la collection et votre résultat attendu documents? – chridam
Veuillez ajouter les documents qui correspondent à votre requête. Par exemple: 'FacilityID' n'est pas présent dans le document. – Veeram
basé sur le FacilityID Je sélectionne l'utilisateur. Ce n'est pas nécessaire. – N15