我正在尝试使用 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 之类的某一天注册
第二步,将结果按登录时间分组并计数
但在实践中,我被困在第 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 步一无所知。感谢您的帮助。谢谢。