我都存儲在以下時間序列數據在MongoDB中
{
"_id" : ObjectId("59a46062e1aeb958a712490e"),
"channelName" : "ABC",
"rtData" : [
{
"ts" : ISODate("2017-08-28T18:26:42.837Z"),
"data" : [ 676.297664, 676.297664 ]
},
{
"ts" : ISODate("2017-08-28T18:27:42.837Z"),
"data" : [ 724.297664, 676.297664 ]
},
{
"ts" : ISODate("2017-08-28T18:29:42.837Z"),
"data" : [ 878.297, 676.297 ]
}
]
}
我想組基於小時的TS字段中的數據,並得到rtData的第一個元素爲小時。 這是我曾嘗試
db.channels.aggregate([ {$match: {"channelName": "ABC"} }, { $unwind : "$rtData" }, { $group : {_id: { $hour: "$rtData.ts" }, ucast: { $sum: $rtData.data[0]} }
但上面的代碼給我下面的輸出
{ "_id" : 28, "ucast" : 0 }
什麼其實我想要的是
{ "_id" : 28, "ucast" : 676.297664 }
感謝您的使用。 – Neeraj
@Neeraj歡迎來到StackOverflow。不要只留下評論說謝謝,而是通過[Accepting the Answer](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)指出正確答案是一個明確的跡象。 –