I have the following code where newUsers are not known outside of mongoose call. I have to return newUsers list.
Struggling for a long time. But not getting anything immproved.
exports.list = function(req, res) {
      User.find({ 'roles': 'user' }, '-salt -password -providerData').sort('-created').populate('user', 'displayName').lean().exec(function(err, users) {
        if (err) {
          return res.status(422).send({
            message: errorHandler.getErrorMessage(err)
          });
        }
        var i;
        var newUsers = [];
        users.forEach(function(user) {
          Customer.find({ user: user._id }).exec(function(err, customers) {
            if (err) {
              return res.status(400).send({
                message: errorHandler.getErrorMessage(err)
              });
            }
            user.customers = customers.length;
            newUsers.push(user);
            console.log(newUsers.length); // newUsers are known here
           return newUsers; **// does not workout**
          });
            console.log(newUsers.length); //newUsers are not known here
        });
      });
    };
 
     
    