Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. [
  2. {
  3. $match:
  4. {
  5. "last_request.2015_05_20": {$exists: true}
  6. }
  7. },
  8. {
  9. $project: {
  10. "main_computer": 1,
  11. "client_type": 1,
  12. "showcase_code": 1,
  13. "download_speed.main": { $ifNull : [ "$download_speed.main", [ 0 ] ] },
  14. "download_speed.site": { $ifNull: ["$download_speed.site", [0] ] }
  15. }
  16. },
  17. {
  18. $unwind: "$download_speed.main"
  19. },
  20. {
  21. $unwind: "$download_speed.site"
  22. },
  23. {
  24. $group: {
  25. "_id": "$showcase_code",
  26. "main_speed_count": {
  27. $sum: {
  28. $cond: {
  29. if : { $gt: ["$download_speed.main", 0] },
  30. then: 1,
  31. else: 0
  32. }
  33. }
  34. },
  35. "main_speed_sum": {
  36. $sum: "$download_speed.main"
  37. },
  38. "site_speed_count": {
  39. $sum: {
  40. $cond: {
  41. if : { $gt: ["$download_speed.site", 0] },
  42. then: 1,
  43. else: 0
  44. }
  45. }
  46. },
  47. "site_speed_sum": {
  48. $sum: "$download_speed.site"
  49. },
  50. "total_main": {
  51. $sum: "$main_computer"
  52. },
  53. "total_windows": {
  54. $sum: {
  55. $cond: {
  56. if : {$eq: ["$client_type", "WIN"]},
  57. then: 1,
  58. else: 0
  59. }
  60. }
  61. },
  62. "total_android": {
  63. $sum: {
  64. $cond: {
  65. if : { $eq: ["$client_type", "ANDRO"] },
  66. then: 1,
  67. else: 0
  68. }
  69. }
  70. },
  71. "total": {
  72. $sum: 1
  73. }
  74. }
  75. },
  76. {
  77. $project: {
  78. "main_speed_count": 1,
  79. "main_speed_sum": 1,
  80. "site_speed_count": 1,
  81. "site_speed_sum": 1,
  82. "showcase_code": 1,
  83. "total_main": 1,
  84. "total_windows": 1,
  85. "total_android": 1,
  86. "total_windows2": {$subtract: ["$total_windows", "$total_main"] },
  87. "total_main": 1,
  88. "total_other": { $subtract: [{$subtract: ["$total", "$total_windows"]}, "$total_android"] },
  89. "total": 1
  90. }
  91. },
  92. {
  93. $project: {
  94. "avg_speed_main": {$cond: {
  95. if: { $gt: ["$main_speed_count", 0] },
  96. then: { $divide: ["$main_speed_sum", "$main_speed_count"] },
  97. else: 0
  98. } },
  99. "avg_speed_site": {$cond: {
  100. if: { $gt: ["$site_speed_count", 0] },
  101. then: { $divide: ["$site_speed_sum", "$site_speed_count"] },
  102. else: 0
  103. } },
  104. "showcase_code": 1,
  105. "total_main": 1,
  106. "total_windows": 1,
  107. "total_android": 1,
  108. "total_windows2": 1,
  109. "total_main": 1,
  110. "total_other": 1,
  111. "total": 1
  112. }
  113. },
  114. {
  115. $sort: {
  116. "_id": 1
  117. }
  118. }
  119. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement