noSQL Group by "alle 10 minuten"
-
hey gibt es eine möglichkeit datensätze für alle 10 minuten zu gruppieren und alles was dazwischen liegt da nen durschschnitt zu bilden?
das geht soweit eig ganz gut. zb hier für den durschnitt ALLER werte. ich will aber den durschnitt für alle 10 minuten.
Collection.aggregate({
group: { _id: null, Avgexample1: { avg: "colum1" }, Avgexample2: { avg: "$colum2"
}
}
}Wisst ihr was ich meine.
Alles zwischen 1 und 10 soll der durschnitt gebildet werden... und immer so weiter... eben alle 10 minuten.aber wie?
-
was ich haben will ist
14:10 { avg: 2 }
14:20 { avg: 2,5 }
14:30 { avg: 1,9 }
-
das datetime für die daten is natürlich vorhanden und es fallen alle 10 sekunden daten an. deswegen das gruppieren in 10 minuten. weil es sonst zu viele wären
-
Das könntest du mit MapReduce z.B. hinbekommen. Was verwendest du denn für ein System, mongodb?
-
nosqler-cptn schrieb:
Das könntest du mit MapReduce z.B. hinbekommen. Was verwendest du denn für ein System, mongodb?
hier ein Link
http://stackoverflow.com/questions/3879371/map-reduce-count-number-of-documents-in-each-minute-mongodb
-
es sollte wenn möglich ausschließlich in mongodb umgesetzt sein. ohne eigene funktionen, sprich dass man selber code schreiben muss. die mongodb datenbank is sehr performant... der computer mit dem programm leider nicht. deswegen keine eigenen funktionen
vielleicht ein "group" mit modulo? oder iwas in der richtung? iwelche ideen?