4

次の形式のデータがあります。

{
    "__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 の場合、日付 (週番号) の結果を取得できません。

4

2 に答える 2

0

最も簡単なオプションは、このクエリの結果を使用するコードにゼロを追加することです。

MongoDB は、存在しないデータを発明することはできません。たとえば、どれだけ時間をさかのぼって時間を進めてゼロを作成すると予想しますか?

于 2013-08-29T06:00:53.207 に答える