В моем случае такая же ошибка, я использую функции Asyanc / Await, для этого нужно добавить AWAIT для findOne
Ex:const foundUser = User.findOne ({ "email" : req.body.email });
выше, foundUser всегда содержит значение Object в обоих случаях, либо пользователь обнаружил, либо нет, потому что он возвращает значения до завершения findOne.
const foundUser = await User.findOne ({ "email" : req.body.email });
выше, foundUser возвращает ноль, если пользователь не находится в коллекции с предоставленным условием. Если найденный пользователь возвращает документ пользователя.