2017-04-02 77 views
0

我有一個叫做'訂單'的貓鼬模型,用來跟蹤用戶訂單。一小時內貓鼬聚集訂單

我想按小時對訂單進行分組,並查找當天每小時有多少訂單。

我試圖使用內置到貓鼬的聚合框架,但無法弄清楚如何實現這一點。

任何人都可以給我一個這如何工作的例子嗎?

理想我想類似下面的

{0: 2, 1: 5, 2:4,...,23:2} 

其中關鍵是每小時輸出,並且該值是否定的。的訂單。

我最初的嘗試

Order.aggregate([ 
    {"$match":{ 
     "created_on" : { 
      $gt: //early hour, 
      $lt: //late hour 
     } 

    }}, 
    { "$group": { _id: null, count: { $sum: 1 } } } 
], function(err, results){ 
    if(err) throw err; 
    console.log(results); 
}); 
+0

添加您嘗試的問題。 –

+0

@AlexBlex添加了我的,可憐的嘗試 – mwild

+0

請發佈您的查詢的任何示例數據 – karthi

回答

0

您需要在今天進行過濾,並group by hour

[ 
    {"$match":{ 
     "created_on" : { 
      $gt: //beginning of the day, 
      $lt: //end of the day 
     } 

    }}, 
    { "$group": { _id: { $hour: "$created_on" }, count: { $sum: 1 } } } 
]