Het is niet goed gedocumenteerd, maar cursor.each geeft een null waarde toe aan de tweede parameter van zijn callback om aan te geven dat de cursor geen documenten meer beschikbaar heeft. Het wordt alleen genoemd in het voorbeeld van de documentatie .
Dus in jouw geval zou je moeten controleren op user !== null in uw users.each terugbellen.
Het zou echter efficiënter zijn om Mongo voor u te laten zoeken door uw find . te wijzigen bel naar:
collection.findOne({email: email}, {}, function(err, user) {
if (user) {
// email was found case
...
}
...
}