嘿,我知道我也许不应该在这里写有关这样的问题的信息,但我只是无法解决这个问题。我有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'”
干杯!
答案 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
在我看来就不会按照您的意愿去做。