我有一个名为’event’的集合,它跟踪移动应用程序中的事件.事件文件的结构是{eventName:eventA,screenName:HomeScreen,timeStamp: NumberLong(135698658),tracInfo:{...,userId:user1,sessionId:123cda...
我有一个名为’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进行漏斗分析?
- java – 带有Liberty Profile的JSR 352 – 如何在ItemReader执行数据库查询时实现检查点 2023-11-03
- Spring注解驱动之ApplicationListener异步处理事件说明 2023-06-06
- java – MySQL查询获取球体中的行(X,Y,Z坐标)? 2023-11-01
- javaweb实现简易邮件发送 2023-01-29
- 使用 Spring Boot Admin 监控应用状态的详细过程 2023-05-14
- Springboot微服务项目整合Kafka实现文章上下架功能 2023-03-22
- Java界面编程实现界面跳转 2023-01-13
- Java聊天室之实现客户端一对一聊天功能 2023-06-30
- SpringBoot公共页面抽取方法实现过程介绍 2023-06-06
- springboot 整合EhCache实现单服务缓存的操作方法 2023-02-27