我有一个像这样的条目的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 }