嘿,我知道我也许不应该在这里写下这样的问题,但我就是无法解决这个问题。我有 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 关注
- 79 浏览
添加回答
举报
0/150
提交
取消