我有一个名为’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

来源: https://codeday.me/bug/20190703/1364868.html

java做无序漏斗分析_java – 使用MongoDB进行漏斗分析?相关推荐

  1. java 线程池 源码_java线程池源码分析

    我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 这两个方法又什么区别呢? 他们背后的原理是什么呢? 线程池中线程超过了coresize后会怎么操作呢? 为 ...

  2. java抽象类接口举例代码_Java接口和抽象类实例分析

    本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...

  3. java web编码详解_Java Web 之编解码分析

    Java Web 之编解码分析 所谓编码,就是将字符转换成字节,所谓解码,就是将字节转换为字符.而编解码中存在的问题主要是由编码和解码所用字符集不匹配导致的.本文主要从以下三个方面分析 Java We ...

  4. 仿照java做一个脚本语言_java调用其它语言脚本(python、js)

    1.背景 之前用开发过程一些功能如图像处理.相似度计算.水印等需要调用算法写的方法,但是算法一般都是用python语言进行开发.所以经常直接用java调用python脚本文件.在网上搜了很多方法也排了 ...

  5. java代码块执行顺序_JAVA代码块执行顺序分析测试

    在实际的工作过程中,几乎从没用过JAVA的代码块.不过既然做了这方面的学习与测试,就索性记录下来防止忘记.同一个招式,圣斗士是不会学习第二遍的... 首先,上代码: public class Code ...

  6. java两种绑定方式_java两种单例模式用法分析

    本文实例讲述了java两种单例模式用法.分享给大家供大家参考,具体如下: 按照加载方式的不同,单例模式有两种实现: private:只能在同一个类中使用 static:该类是类方法,不能调用实例方法. ...

  7. java做一个日历程序_java实现的一个简单日历

    先贴代码,之后的文章慢慢总结分析. 首先是日历的每个格子作为一个对象,建立的一个类DayBox.java import java.awt.Color; import javax.swing.JButt ...

  8. 怎么用java做全民飞机大战_Java飞机大战游戏设计与实现

    1 概述 本次Java课程设计是做一个飞机大战的游戏,应用Swing编程,完成一个界面简洁流畅.游戏方式简单,玩起来易于上手的桌面游戏.该飞机大战项目运用的主要技术即是Swing编程中的一些窗口类库. ...

  9. java做游戏左上角菜单_JAVA游戏菜单

    展开全部 java设置游戏菜单可以很朴素 ,也可以比较华丽,简单的写了两个参考效果 分析菜单导航到游戏的过程, 我们62616964757a686964616fe78988e69d8331333431 ...

最新文章

  1. PCL 点云 欧式聚类疑问
  2. 作为JavaScript开发人员,这些必备的VS Code插件你都用过吗?
  3. stm32看门狗_「正点原子NANO STM32开发板资料连载」第十一章 独立看门狗实验
  4. 【计算机基础】 Virtual memory 虚拟内存
  5. 教程 打造OS X Mavericks原版 EFI Clover 引导安装
  6. 使用基本身份验证来保护Spring Boot REST API
  7. csdn飞鸽传书 打了七天七夜
  8. 航测无人机航线规划原理
  9. m3u8解析php,PHP解码转发M3U8 PHP读取转发M3U8的方法
  10. 李彦宏的搜索技术传奇
  11. 图片由模糊变清晰的效果实现
  12. python读取grib2文件
  13. 观念理解论创业设计思维
  14. BSOJ1495 拾垃圾的机器人3451
  15. 如何通过划分VLAN,有效规划企业网ip地址!
  16. Fasm汇编程序1.73,中文文档,第一章
  17. java 数字翻译成英文_AcWing 59. 把数字翻译成字符串--Java代码
  18. 关于IO口信号采集上下拉电阻的选择
  19. Gitlab软件包下载地址
  20. 弱人工智能阶段,优必选融资重视生态布局

热门文章

  1. 基于FPGA用VerilogHDL设计实现DDS直接频率合成的详细步骤(QuartusII调用ModelSim进行仿真详细步骤)
  2. Springboot毕设项目欢乐购商城系统1l1e1(java+VUE+Mybatis+Maven+Mysql)
  3. hcia交换机作业(划分广播域)
  4. C#获取尼康D5100里拍好的照片
  5. java线程池的面试题_java线程池 面试题(精简)
  6. MySQL BIGINT 数据类型
  7. 宠物医院微信小程序的开发与实现
  8. nginx 验证配置文件
  9. Mac终端出现bogon的解决办法
  10. linux2.6.36以上安装aodv-uu-0.9.6