Jak elastyczna jest funkcja agregująca dla formatowania wyjściowego w MongoDB? Format
danych:
{
"_id" : ObjectId("506ddd1900a47d802702a904"),
"port_name" : "CL1-A",
"metric" : "772.0",
"port_number" : "0",
"datetime" : ISODate("2012-10-03T14:03:00Z"),
"array_serial" : "12345"
}
Teraz używam tego agregatu funkcja zwraca tablicę DateTime, tablicy wskaźników, a count:
{$match : { 'array_serial' : array,
'port_name' : { $in : ports},
'datetime' : { $gte : from, $lte : to}
}
},
{$project : { port_name : 1, metric : 1, datetime: 1}},
{$group : { _id : "$port_name",
datetime : { $push : "$datetime"},
metric : { $push : "$metric"},
count : { $sum : 1}}}
Co jest miłe, i bardzo szybko, ale czy istnieje sposób na sformatowanie danych wyjściowych, więc istnieje jedna tablica na dane/dane? Tak:
[
{
"_id" : "portname",
"data" : [
["2012-10-01T00:00:00.000Z", 1421.01],
["2012-10-01T00:01:00.000Z", 1361.01],
["2012-10-01T00:02:00.000Z", 1221.01]
]
}
]
To znacznie uprości front-end jak to format kodu wykres spodziewa.
Tymczasem dostaję wyjście i pętli przez obiekty i używając 'funkcję zip' podkreślenia, by je połączyć, to nie wydaje się, aby dodać wiele napowietrznych. –