admin管理员组

文章数量:1516870

java做无序漏斗分析

我有一个名为’event’的集合,它跟踪移动应用程序中的事件.

事件文件的结构是

{

eventName:"eventA",

screenName:"HomeScreen",

timeStamp: NumberLong("135698658"),

tracInfo:

{

...,

"userId":"user1",

"sessionId":"123cdasd2123",

...

}

}

我想创建报告以显示特定的渠道:

例如:

漏斗是:event1 – > event2 – > EVENT3

我想找到的数量:

> event1

> event1然后是event2

> event1然后是event2,然后是event3

并且会议也被认为是在单个会话中发生的.

注意:只是想清楚,我希望能够创建我定义的任何漏斗,并能够为它创建报告.

谢谢..

解决方法:

您的解决方案可能围绕这样的聚合:

db.event.aggregate([

{ $group: { _id: '$tracInfo.sessionId', events: { $push: '$eventName' } } }

])

每个生成的文档都包含sessionId和eventNames列表.根据需要将其他字段添加到$group结果中.我想在检测你想要的序列中的逻辑是非常多毛的,所以你可以考虑将结果保存到一个不同的集合中,你可以随意检查. 2.6仅为此类场合提供了新的$out operator.

标签:java,mongodb,bigdata,aggregation-framework,mapreduce

来源: .html

本文标签: java做无序漏斗分析