J'essaie de comprendre ce cadre d'agrégation, et je suis coincé, j'aimerais de l'aide.Comment agréger un groupe avec un tableau filtré et une somme filtrée?
J'ai une collection d'événements, ce regard simplifié et déjà filtré quelque chose de similaire à ceci:
{ creation: 54233, eventName: "elapsedTime", userId: 1, url: "/thing/53e245ca", data: { number: 5 } },
{ creation: 64033, eventName: "elapsedTime", userId: 1, url: "/thing/53e245ca", data: { number: 3 } },
{ creation: 50298, eventName: "elapsedTime", userId: 1, url: "/thing/53e245ca", data: { number: 2 } },
{ creation: 74220, eventName: "toggle", userId: 1, url: "/thing/53e245ca", data: { status: true } },
{ creation: 84233, eventName: "elapsedTime", userId: 2, url: "/thing/190345a9", data: { number: 8 } },
{ creation: 59511, eventName: "elapsedTime", userId: 2, url: "/thing/190345a9", data: { number: 10 } },
{ creation: 14236, eventName: "toggle", userId: 2, url: "/thing/190345a9", data: { status: false } },
{ creation: 80637, eventName: "toggle", userId: 2, url: "/thing/cc2b8b91", data: { status: true } },
{ creation: 99239, eventName: "toggle", userId: 2, url: "/thing/cc2b8b91", data: { status: false } }
Et je veux qu'ils soient agrégés comme ceci:
{
userId: 1,
toggles: [
{ creation: 74220, url: "/thing/53e245ca", data: { status: true } }
],
elapsedSum: 10
},
{
userId: 2,
toggles: [
{ creation: 14236, url: "/thing/190345a9", data: { status: false } },
{ creation: 80637, url: "/thing/cc2b8b91", data: { status: true } },
{ creation: 99239, url: "/thing/cc2b8b91", data: { status: false } },
],
elapsedSum: 18
}
Je essentiellement voulez regrouper par utilisateur, avoir la somme de tous elapsedTime
pour chaque utilisateur, et avoir un tableau de tous les événements toggle
pour chaque utilisateur.
Wow je ne sais pas comment nécessaire je ne pensais pas à cela. C'était plus simple que je ne le pensais. Merci beaucoup! –