使用 mongodb 聚合

嘿,我知道我也许不应该在这里写下这样的问题,但我就是无法解决这个问题。我有 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’”

干杯!


三国纷争
浏览 80回答 1
1回答

皈依舞

id 和 hour 都需要成为存储桶的一部分。尝试:  db.Report.aggregate([{ $match: { date: { $gt: 0, $lt: 20 }}},  {$group: { _id: {subsummary: "$subsummaryId", hour: {"$hour": "$date"}}, price: {$avg: "$price" }}}])如果这不起作用,请向问题添加一些示例数据。如果您的日期字段包含时间戳,$lt: 20在我看来它不会做您想要的事情。
打开App,查看更多内容
随时随地看视频慕课网APP