为了账号安全,请及时绑定邮箱和手机立即绑定

使用 mongodb 聚合

使用 mongodb 聚合

PHP
三国纷争 2023-10-15 15:30:14
嘿,我知道我也许不应该在这里写下这样的问题,但我就是无法解决这个问题。我有 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在我看来它不会做您想要的事情。


查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信