Не е добре документиран, но cursor.each
предоставя null
стойност към втория параметър на неговото обратно извикване, за да покаже, че курсорът няма повече налични документи. Споменава се само в примера на документацията .
Така че във вашия случай трябва да проверявате за user !== null
във вашия users.each
обратно повикване.
Въпреки това би било по-ефективно да накарате mongo да търси вместо вас, като промени вашия find
обадете се на:
collection.findOne({email: email}, {}, function(err, user) {
if (user) {
// email was found case
...
}
...
}