1

MongoDB でユーザー維持率を計算しようとしています。MongoDB のレコードは次のようになります。

{
    "event" : "$signup",
    "properties" : {
        "country" : "GB",
        "device" : "iPad",
        "ref" : "Facebook",
        "token" : "baddf3b44149c8f836f28d3750d4d6cf",
        "time" : ISODate("2013-03-26T21:16:52Z"),
        "distinct_id" : 8
    },
    "_id" : ObjectId("51784bc5c83494cb98000001")
}

私の考えは:

ステップ 1、2013 年 4 月 1 日のようなある日、ユーザーにサインアップしてもらう

ステップ 2、結果をログイン時間とカウントにグループ化する

しかし、実際には、これによりステップ1で立ち往生しています:

db.rawData.aggregate(
    {$match: 
        {event: "$signup",
        "$properties.time": {"$gte": new Date(2013, 4, 15), "$lte": new Date(2013, 4, 20)}
        }
    },
    {$group:
        {
            _id:"$properties.distinct_id"
        }
    }
);

時間の無条件で結果が得られるのに、時間の条件があると何も得られません。

ステップ 2 についてはわかりません。よろしくお願いします。ありがとう。

4

0 に答える 0