与mongodb融合

时间:2020-08-15 16:22:19

标签: php mongodb

嘿,我知道我也许不应该在这里写有关这样的问题的信息,但我只是无法解决这个问题。我有mongodb集合,我们称之为摘要。在这里,我得到以下字段:id,subsummaryId,日期,价格。汇总间隔为1分钟。我想写一个aggregationbuilder,可以从现有的子摘要中生成报告。报告将返回过去24小时内每个subsummaryId每小时的平均小时价格。我在按小时汇总方面遇到问题。

db.Report.aggregate([{ $match: { date: { $gt: 0, $lt: 20 }}}, {$group: { _id: "$subsummaryId", hour: {"$hour": "$date"}, price: {$avg: "$price" }}}])

我要

“未知的组运算符'$ hour'”

干杯!

1 个答案:

答案 0 :(得分:1)

id和hour都必须属于存储桶。试试:

  db.Report.aggregate([{ $match: { date: { $gt: 0, $lt: 20 }}},
 {$group: { _id: {subsummary: "$subsummaryId", hour: {"$hour": "$date"}}, price: {$avg: "$price" }}}])

如果这不起作用,请向问题中添加一些示例数据。

如果您的日期字段包含时间戳记,$lt: 20在我看来就不会按照您的意愿去做。