嘿,我知道我也許不應該在這里寫下這樣的問題,但我就是無法解決這個問題。我有 mongodb 集合,我們稱之為摘要。在那里我得到了以下字段:id、subsummaryId、日期、價格。小摘要的間隔為 1 分鐘。我想編寫一個聚合生成器,它可以根據現有的小結生成報告。報告將返回過去 24 小時內每個 subsummaryId 每小時的平均價格。我遇到按小時聚合的問題。db.Report.aggregate([{ $match: { date: { $gt: 0, $lt: 20 }}}, {$group: { _id: "$subsummaryId", hour: {"$hour": "$date"}, price: {$avg: "$price" }}}])我越來越“未知的組運算符‘$hour’”干杯!
1 回答

皈依舞
TA貢獻1851條經驗 獲得超3個贊
id 和 hour 都需要成為存儲桶的一部分。嘗試:
db.Report.aggregate([{ $match: { date: { $gt: 0, $lt: 20 }}}, {$group: { _id: {subsummary: "$subsummaryId", hour: {"$hour": "$date"}}, price: {$avg: "$price" }}}])
如果這不起作用,請向問題添加一些示例數據。
如果您的日期字段包含時間戳,$lt: 20
在我看來它不會做您想要的事情。
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消