次の形式のデータがあります。
{
"__v" : 0,
"_id" : ObjectId("12367687"),
"xyzId" : "ADV_ID",
"date" : ISODate("2013-08-19T10:58:21.473Z"),
"gId" : "987654",
"type" : "checks"
}
上記のデータについて、「created_on」フィールドと「type」フィールドのカウントを使用して、日次、週次、月次、および年次のデータのグラフをプロットする必要があります。部分的に機能する次のクエリがあります。
db.trackads.aggregate(
{$match : {"gId" : "987654",type : 'checks'}},
{ $group : { _id : { "day" : {"$week" : "$date"}},cnt : {"$sum" : 1}}});
結果:
{
"result" : [
{
"_id" : {
"day" : 34
},
"cnt" : 734
},
{
"_id" : {
"day" : 33
},
"cnt" : 349
}
],
"ok" : 1
}
しかし、上記のクエリでは、「タイプ」のカウント = インプレッションが 0 の場合、日付 (週番号) の結果を取得できません。