Advertisement
ravaelamanov

Untitled

Dec 13th, 2022
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. db.createView('week_schedule', 'club', [
  2.     {
  3.         $unwind: '$training_halls'
  4.     },
  5.     {
  6.         $addFields: {
  7.             trainings: '$training_halls.trainings'
  8.         }
  9.     },
  10.     {
  11.         $unwind: '$trainings'
  12.     },
  13.     {
  14.         $lookup: {
  15.             from: 'training',
  16.             localField: 'trainings',
  17.             foreignField: 'id',
  18.             as: 'trainings'
  19.         }
  20.     },
  21.     {
  22.         $unwind: '$trainings'
  23.     },
  24.     {
  25.         $lookup: {
  26.             from: 'trainer',
  27.             localField: 'trainings.trainer',
  28.             foreignField: 'id',
  29.             as: 'trainer'
  30.         }
  31.     },
  32.     {
  33.         $unwind: '$trainer'
  34.     },
  35.     {
  36.         $lookup: {
  37.             from: 'training_info',
  38.             localField: 'trainings.training_info',
  39.             foreignField: 'id',
  40.             as: 'training_info'
  41.         }
  42.     },
  43.     {
  44.         $unwind: '$training_info'
  45.     },
  46.     {
  47.         $project: {
  48.             _id: 0,
  49.             club_id: "$id",
  50.             club_name: "$name",
  51.             training_hall_name: '$training_halls.name',
  52.             training_hall_type: '$training_halls.type',
  53.             day_of_week: '$trainings.day_of_week',
  54.             start_time: '$trainings.start_time',
  55.             end_time: '$trainings.end_time',
  56.             training_info_name: '$training_info.name',
  57.             training_info_description: '$training_info.description',
  58.             trainer_first_name: '$trainer.first_name',
  59.             trainer_last_name: '$trainer.last_name',
  60.         }
  61.     },
  62.     {
  63.         $sort: {
  64.             'start_time': 1,
  65.             'end_time': 1,
  66.         }
  67.     },
  68. ])
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement