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
});
});
};