В основном я хочу сохранить user
внутри базы данных, прежде чем выполнять эту операцию, мне нужно проверить поля этого user
. Итак, у меня есть эта структура:
exports.save = function(req, res)
{
let errors = validate(req.body);
if(!errors.length)
{
//add user
res.status(200).send(true);
}
else{
res.status(500).send("oh bad");
}
};
function validate(user)
{
let errors = [];
if (User.findOne({ email: user.email })) {
errors.push({ msg: 'Email already registered!' });
}
}
приведенный выше код просто не может работать, потому что NodeJS
обрабатывает операцию асинхронно. Я могу исправить эту «проблему», сделав что-то вроде:
User.findOne({ email: email }).then(user => {
if (!user) {
//add user
res.status(200).send(true);
});
но я хочу добавить проверку внутри функции validate
, есть ли способ сделать это? Извините, если этот вопрос может быть глупым, но я новичок в NodeJS