Ich verwende eine Tabelle mit Benutzername und Arbeitsdauer des Benutzers. Die Sammlung hat mehrere Stunden für den gleichen Benutzer. Ich möchte den eindeutigen Benutzernamen und die Summe der Dauerstunden für diesen Benutzernamen anzeigen.Get Distinct-Wert mit 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} }
])
es Benutzername 3 mal angezeigt wird und
siva 40
siva 40
siva 40
für den Benutzer zeigt hat unterschiedliche Dauer für andere Art von Arbeit wie: 20 Stunden für den Entwurf, 10 Stunden für die Codierung, 10 für die Prüfung.
aber ich möchte den Benutzer mit der Summe der Dauer Stunden aller seiner Arbeit anzeigen.
User Name: Phase duration
Siva Testing 10
siva Coding 10
siva Designing 20
Erwartet Ausgabe:
Siva 40
Die obige Abfrage Benutzername ausführt, während sie mit Dauer Stunden Gruppierung. Die Dauer der Stunden variiert, da der Benutzername entsprechend der Dauer angezeigt wird.
Können Sie bitte [Bearbeiten] Ihre Frage einige Beispieldokumente aus der Sammlung und Ihre erwartete Ausgabe enthalten Unterlagen? – chridam
Fügen Sie die Dokumente hinzu, die Ihrer Suchanfrage entsprechen. Zum Beispiel: 'FacilityID' ist nicht im Dokument vorhanden. – Veeram
basierend auf der FacilityID wähle ich den Benutzer. Das ist nicht nötig. – N15