Não está bem documentado, mas
cursor.each
fornece um null
value para o segundo parâmetro de seu retorno de chamada para indicar que o cursor não tem mais documentos disponíveis. Ele é mencionado apenas no exemplo da documentação . Portanto, no seu caso, você deve verificar
user !== null
em seu users.each
ligue de volta. No entanto, seria mais eficiente ter o mongo fazendo a pesquisa para você alterando seu
find
ligar para:collection.findOne({email: email}, {}, function(err, user) {
if (user) {
// email was found case
...
}
...
}