I am developing Restful API using Javascript(ES6). For below code piece, I have two table Lecturer and Course. I am trying to send all courses that particular lecturer has.
api.get('/getCourses/:lecturer_id', (req, res) => { 
    let myCourses = [];
    let send = true;
    Lecturer.findById(req.params.lecturer_id, (err, lecturer) => {
      if(err) {
        res.json({ ok : '0'});
      } else {
        lecturer.courses.forEach(value => {
          Course.findById(value, (err, course) => {
            console.log(value);
            if(err) {
              res.json({ok : '0'});
              send = false;
            } else {
              console.log('in else');
              console.log(course)
              myCourses.push(course);
              console.log(myCourses.length);
            }
            console.log(myCourses.length);
          });
          console.log('outside1');
        });
        console.log('outside');
        res.json(myCourses);
      }
    });
  });
But in here, in the console "outside1" and "outside" are not printed. As a result the "myCourses" array returns empty. Can you explain what is my problem. Thank you.
 
     
    