Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.77 KB | None | 0 0
  1. db.driverWeeks.aggregate(
  2. [{
  3. $match: {
  4. companyId: "4792017E-CD76-47CD-AB88-F3454898A4CC",
  5. "cardNumber": {
  6. "$in": [
  7. "DB061091674223",
  8. "DB060381671928",
  9. "DB061091673036",
  10. "DB091461621000",
  11. "DB161601621503",
  12. "DB180101620463",
  13. "DB071771671437",
  14. "DB122891621276",
  15. "DB171361620397",
  16. "DB072431621002",
  17. "V1000000812360",
  18. "DB171081620194",
  19. "DB182811620466"
  20. ]
  21. },
  22. "timestamp" : {
  23. "$gte" : NumberLong(1534723200),
  24. "$lt" : NumberLong(1566172800)
  25. },
  26. }
  27. },
  28. {
  29. $group: {
  30. _id: {
  31. cardNumber: "$cardNumber"
  32. },
  33. charts: {
  34. $push: "$dutyDays.charts",
  35. },
  36. dutyDays: {
  37. $sum: {
  38. $size: "$dutyDays"
  39. }
  40. }
  41. }
  42. },
  43. {
  44. $project:
  45. {
  46. dutyDays : 1,
  47. charts:
  48. {
  49. $reduce:
  50. {
  51. input: "$charts",
  52. initialValue: [],
  53. in: { $concatArrays : ["$$value", "$$this"] }
  54. }
  55. }
  56. }
  57. },
  58. {
  59. $project:
  60. {
  61. dutyDays : 1,
  62. charts:
  63. {
  64. $reduce:
  65. {
  66. input: "$charts",
  67. initialValue: [],
  68. in: { $concatArrays : ["$$value", "$$this"] }
  69. }
  70. }
  71. }
  72. },
  73. {
  74. $project: {
  75. dutyDays: 1,
  76. infringements: {
  77. $reduce: {
  78. input: "$charts",
  79. initialValue: [],
  80. in: {
  81. $cond:
  82. {
  83. if:
  84. {
  85. $or :
  86. [
  87. {$in: ["$$this.registration", [ "MANUAL",
  88. "CC17DAF",
  89. "DG61XSO",
  90. "DG63AOH",
  91. "DK16MUE",
  92. "DK16MVJ",
  93. "DK67VWO",
  94. "EJ16RXW",
  95. "FJ64AWG",
  96. "FN63OLR",
  97. "WX66WNC",
  98. "WX66WNG",
  99. "WX66WNH",
  100. "WX66WNJ",
  101. "WX66WNL",
  102. "WX66WNM",
  103. "WX66WNN",
  104. "WX66WNO",
  105. "WX66WNP",
  106. "WX66WNR",
  107. "YE14ETU",
  108. "YE14ETV",
  109. "YJ60LKV",
  110. "YN65UJW",
  111. "YN65UMG",
  112. "YT17HXE"
  113. ]]},
  114. {$eq : ["$$this.registration", null]}
  115. ]
  116. },
  117. then: { $concatArrays:
  118. [
  119. "$$value",
  120. {$ifNull: ["$$this.hoursLaw.infringements.infringmentCode", []]},
  121. ]
  122. },
  123. else: "$$value"
  124. }
  125. }
  126. }
  127. }
  128. }
  129. }
  130. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement