使用nodejs获取mongodb中的分钟/小时/天的平均值

时间:2015-07-27 10:29:43

标签: node.js mongodb date

我有一个像这样的条目的mongodb:

{
    time: Date
    temp: Float
}

现在,其中一个条目每5秒生成一次,我想使用node.js获得这20分钟中的每一个的平均值。同样适用于最后10小时和最后7天,但我认为一旦你解决了几分钟,你就可以复制并改变其余部分。

E.g。我想要一个包含20个条目的数组,如下所示:

[[12:26, Average from that minute], [12:25, Average from that minutes], etc.]

感谢。

编辑:我尝试按照您与我分享的链接,但没有一个解决了我的问题。这是我使用的代码:

db.collection('temp').aggregate([
    { "$group": {
        "time": {
            "year": { "$year": "$time" },
            "dayOfYear": { "$dayOfYear": "$time" },
            "interval": {
                "$subtract": [
                    { "$minute": "$time" },
                    { "$mod": [{ "$hour": "$time" }, 1 ]}
                ]
            }
        },
        "count": { "$sum": 10 }
    }}
]).each(function (err, doc) {
    console.log(doc || err);

    db.close();
});

这简单地返回:

{ [MongoError: exception: unknown group operator 'year']
  name: 'MongoError',
  message: 'exception: unknown group operator \'year\'',
  errmsg: 'exception: unknown group operator \'year\'',
  code: 15952,
  ok: 0 }

0 个答案:

没有答案