我有一个存储在 Mongodb 上的命中集合,使用这个模式:{ userid: ... date: ... }
我想显示一个报告,计算两个日期之间的唯一访问者(具有不同用户 ID 在这些日期之间取得成功的访问者)。
输出示例:
访问者人数:...点击次数:...
该集合的大小约为 1M 条记录。
我的第一个想法是进行增量 mapreduce 以按天计算聚合值。然后在天上进行第二次 mapreduce 以输出最终结果。
问题是当在报告中选择一系列日期时,我无法计算正确的唯一身份访问者数量。
按天汇总的值示例: 第 1 天:1 位唯一身份访问者 第 2 天:2 位唯一身份访问者(2 位访问者中有 1 位在第 1 天获得成功)
这两天的独立访问者总数为 3,但整个期间只有 2 个独立访问者,而不是 3 个。
在此示例中,您有任何计算唯一访问者的高效方法吗?