Es ist nicht gut dokumentiert, aber cursor.each stellt einen null bereit -Wert in den zweiten Parameter seines Callbacks, um anzugeben, dass für den Cursor keine weiteren Dokumente verfügbar sind. Es wird nur im Beispiel der Dokumentation .
In Ihrem Fall sollten Sie also nach user !== null suchen in Ihrer users.each Rückruf.
Es wäre jedoch effizienter, Mongo die Suche für Sie erledigen zu lassen, indem Sie Ihren find ändern Aufruf an:
collection.findOne({email: email}, {}, function(err, user) {
if (user) {
// email was found case
...
}
...
}