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-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 步一无所知。感谢您的帮助。谢谢。

4

0 回答 0