Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- db.driverWeeks.aggregate(
- [{
- $match: {
- companyId: "4792017E-CD76-47CD-AB88-F3454898A4CC",
- "cardNumber": {
- "$in": [
- "DB061091674223",
- "DB060381671928",
- "DB061091673036",
- "DB091461621000",
- "DB161601621503",
- "DB180101620463",
- "DB071771671437",
- "DB122891621276",
- "DB171361620397",
- "DB072431621002",
- "V1000000812360",
- "DB171081620194",
- "DB182811620466"
- ]
- },
- "timestamp" : {
- "$gte" : NumberLong(1534723200),
- "$lt" : NumberLong(1566172800)
- },
- }
- },
- {
- $group: {
- _id: {
- cardNumber: "$cardNumber"
- },
- charts: {
- $push: "$dutyDays.charts",
- },
- dutyDays: {
- $sum: {
- $size: "$dutyDays"
- }
- }
- }
- },
- {
- $project:
- {
- dutyDays : 1,
- charts:
- {
- $reduce:
- {
- input: "$charts",
- initialValue: [],
- in: { $concatArrays : ["$$value", "$$this"] }
- }
- }
- }
- },
- {
- $project:
- {
- dutyDays : 1,
- charts:
- {
- $reduce:
- {
- input: "$charts",
- initialValue: [],
- in: { $concatArrays : ["$$value", "$$this"] }
- }
- }
- }
- },
- {
- $project: {
- dutyDays: 1,
- infringements: {
- $reduce: {
- input: "$charts",
- initialValue: [],
- in: {
- $cond:
- {
- if:
- {
- $or :
- [
- {$in: ["$$this.registration", [ "MANUAL",
- "CC17DAF",
- "DG61XSO",
- "DG63AOH",
- "DK16MUE",
- "DK16MVJ",
- "DK67VWO",
- "EJ16RXW",
- "FJ64AWG",
- "FN63OLR",
- "WX66WNC",
- "WX66WNG",
- "WX66WNH",
- "WX66WNJ",
- "WX66WNL",
- "WX66WNM",
- "WX66WNN",
- "WX66WNO",
- "WX66WNP",
- "WX66WNR",
- "YE14ETU",
- "YE14ETV",
- "YJ60LKV",
- "YN65UJW",
- "YN65UMG",
- "YT17HXE"
- ]]},
- {$eq : ["$$this.registration", null]}
- ]
- },
- then: { $concatArrays:
- [
- "$$value",
- {$ifNull: ["$$this.hoursLaw.infringements.infringmentCode", []]},
- ]
- },
- else: "$$value"
- }
- }
- }
- }
- }
- }
- ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement