データベース ソリューションに MongoDB を試してみたいので、いじっています。Aggregation Frameworkは完璧で、ドキュメントのほとんどは、私が何をしなければならないかをよく説明しています。
私のデータは次のようになります。
{ "_id" : ObjectId("54e5e79032d4796d1dec195e"),
"timestamp" : ISODate("2015-01-20T10:31:02.082Z"),
"value" : 4089 }
たとえば、1 秒あたりのデータを集計したい場合は、次のようにします。
db.mycollection.aggregate(
{
$match : {
timestamp: {$gte: ISODate("2015-01-21T12:00:00Z"),
$lte: ISODate("2015-01-21T12:01:00Z")}
}
},
{
$group : {
_id : { $second: "$timestamp" },
averageQuantity: { $avg: "$value" },
count: { $sum: 1 }
}
}
);
私の質問は、$second や $minute などの事前定義されていない サンプル レートでデータを集計するにはどうすればよいですか? 30 秒としましょう。
私の例のコードを使用して、2 つの結果を返したいと思います。
前もって感謝します!