0
我有一個分析集合,我將查詢作爲單個文檔存儲。我想統計過去一天(24小時)內發生的查詢次數。這裏的聚集命令,因爲它是:完成此彙總管道需要一些幫助
db.analytics.aggregate([{$group:{_id:{"day":{$dayOfMonth:"$datetime"},"hour":{$hour:"$datetime"}},"count":{$sum:1}}},{$sort:{"_id.day":1,"_id.hour":1}}])
結果是這樣的:
.
.
.
{
"_id" : {
"day" : 17,
"hour" : 19
},
"count" : 8
},
{
"_id" : {
"day" : 17,
"hour" : 22
},
"count" : 1
},
{
"_id" : {
"day" : 18,
"hour" : 0
},
"count" : 1
}
.
.
.
本來,我的計劃是增加一個$limit
操作,簡單地確定最後的24個結果。這是一個很棒的計劃,直到你意識到有幾個小時沒有任何疑問。所以最近的24份文件可能會在一天之內返回。我想到使用$match
,但我不知道如何去構建它。有任何想法嗎?