Ich habe Datensätze in einer Sammlung des folgenden Formats.Mongodb-Aggregation - Abwickeln/Gruppe/Projekt Abfrage Kombination
//One parent record
{
"_id" : "someDocID",
"title" : "some title",
"analytics" : [
{
"_id" : "analyticsID1",
"timeSpent" : [
{
"time" : 14,
"pageNo" : 1
},
{
"time" : 4,
"pageNo" : 2
},
{
"time" : 3,
"pageNo" : 1
},
{
"time" : 1,
"pageNo" : 2
}
]
},
{
"_id" : "analyticsID2",
"timeSpent" : [
{
"time" : 12,
"pageNo" : 10
},
{
"time" : 15,
"pageNo" : 11
},
{
"time" : 26,
"pageNo" : 12
},
{
"time" : 13,
"pageNo" : 11
},
{
"time" : 17,
"pageNo" : 10
},
{
"time" : 30,
"pageNo" : 11
}
]
}
]
}
Das Feld "SeiteNr" enthält wiederholte Werte. Ich muss das pageNo Feld mit dem Hinzufügen ihrer jeweiligen "Zeit" gruppieren.
Dies ist meine erforderliche Ausgabe. (Nach „$ Abroller“ -Betrieb auf Analytik)
//Two records after "$unwind" on analytics
{
"_id" : "someDocID",
"title" : "some title",
"analytics" : {
"_id" : "analyticsID1",
"timeSpent" : [
{
"time" : 17, //14+3
"pageNo" : 1
},
{
"time" : 5, //4+1
"pageNo" : 2
}
]
}
}
{
"_id" : "someDocID",
"title" : "some title",
"analytics" : {
"_id" : "analyticsID2",
"timeSpent" : [
{
"time" : 29, //12+17
"pageNo" : 10
},
{
"time" : 58, //15+13+30
"pageNo" : 11
},
{
"time" : 26,
"pageNo" : 12
}
]
}
}
Ich habe verschiedene Kombinationen von Aggregate versucht, Gruppe, entspannen und Projekt kann aber immer noch nicht ganz da bekommen und würde wirklich zu schätzen irgendwelche Vorschläge.
Was wollen Sie mit beenden? Versuchen Sie, "Zeit" mit "SeiteNr" oder "Zeit" mit "SeiteNr" für jede Analyse-ID zu summieren? –
Ich möchte "time" mit "pageNo" summieren. –
Ich möchte so etwas. analyticsID1 -> {timeSpent: [{Zeit: 10, SeiteNr: 1}, ..]}, analyticsID2 -> {timeSpent: [{Zeit: 20, SeiteNr: 1}, ..]} –