如何检查风帆水线是否存在数据

时间:2018-06-04 05:51:40

标签: sails.js

我希望创建具有参数名称,候选人电子邮件,职位名称以及JobDetail的描述,工资和职位的应用程序。 这是我的代码

create: async function (req, res) {
try {
  let { name, email, title, description, salary, position } = req.allParams();
  if (!name) {
    return res.badRequest('name is required');
  }
  if (!email) {
    return res.badRequest('email is required');
  }
  if (!salary) {
    return res.badRequest('salary is required');
  }
  //check job exist
  const checkExistence = await Job.findOne({
    title: title
  });
  if (!checkExistence) {
    return res.badRequest('Job does not exist!!!');
  }
  return res.ok('Ok!!!');
} catch (error) {
  res.serverError(error);
}

}

我一直在检查作业模型是否具有输入作业? 我只是应用findOne()或find()来检查存在,但我觉得解决方案不是最佳实践。 我对Sails很新鲜。希望你们帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

验证backend中的请求参数不是一个好习惯。你应该在frontend中做到这一点。无论如何,您可以使用上面的代码来检查作业标题的存在。相反,您可以使用传统的node.js回调来检查作业标题的存在,如下所示。

Job.findOne({ title: title}).exec(function(err, result){
    if (err) { 
        return res.send({ message: 'error'}); 
    }
    else if (!result) {
        return res.send({ message: 'job does not exists'});
    }
    return res.send({ message: 'success'});
});