如何避免输入用户输入的相同值?

时间:2019-01-03 08:06:49

标签: node.js express

问题:当我使用Postman时,我试图POST的数据,但是即使该值已经在服务器中,它仍然返回200

这是我的代码

// Create and Save a new Note
exports.create = (req, res) => {
   // Validate request
   if(!req.body.content) {
     return res.status(400).send({
       message: "Note content can not be empty"
   });
 }

  if (req.body.content.length < 5) {
    return res.status(422).send({
      message: "Note cannot be less than 5 characters"
  });
 }

  if (req.body.title.length < 5) {
    return res.status(422).send({
      message: "Title cannot be less than 5 characters"
  })
 }

 // Create a Note
  const note = new Note({
    title: req.body.title || "Untitled Note",
    content: req.body.content
  });

// Save Note in the database
note.save()
  .then(data => {
    res.send(data);
}).catch(err => {
    res.status(500).send({
        message: err.message || "Some error occurred while creating the Note."
   });
});
};

预期的输出:我应该在邮递员上收到一条错误消息,表明该值已被张贴。因此,如果已经添加了该值,则无法创建另一个记录。

1 个答案:

答案 0 :(得分:1)

您可以使用mongodb的Array.prototype.map

  Note.insertOne({
      title: req.body.title || "Untitled Note",
      content: req.body.content
  });