我正在尝试使用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-04-01
步骤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步。我将非常感谢你的帮助。感谢。