Hey so I am using an async series to create an array with the user found in a search result to loop through and see if they are part of the friend request array of the user logged in. However, for some reason it is always ending up as false, does anyone notice anything wrong with the code below?
Here is the code for the route file:
exports.searchPost = function(req, res, err) {
User.find({$or:[
{firstName: req.body.firstName},
{lastName: req.body.lastName},
{email: req.body.email},
{phone: req.body.phone}]
}, function(err, users, userAdd) {
if(err) {
return res.render('searchError', {title: 'Weblio'});
} else {
if(req.body.firstName=== '' && req.body.lastName==='' && req.body.email==='' && req.body.phone=== '') {
//maybe a diff page saying that is not a valid search page
return res.render('searchError', {title: 'Weblio'});
} else {
var userAdd,
series = [];
console.log('addman');
users.forEach(function (user) {
series.push(function (callback) {
User.findById(req.signedCookies.userid, {
friendRequest: user._id
}, function () {
if (user._id === true) {
console.log('addman1');
return callback(null, [user, true]);
} else {
console.log('addman2');
console.log(user._id);
return callback(null, [user, false]);
}
});
});
});
async.series(series, function (err, results) {
//results should be an in order array of values;
console.log(results);
return res.render('searchResults', {title: 'Weblio',
userAdded: results
});
});
}
}
});
};