【发布时间】:2017-05-08 18:09:15
【问题描述】:
我正在尝试将新数据添加到数据库中,只有当它不存在时。我要求用户输入名称,如果名称已经存在,他/她不能输入相应的数据,并且会出错显示它“已经存在”。 这就是我正在做的-
app.post("/new",function(req,res){
Model.find({"name":req.body.name},function(err,persons){
if(err!=null)
{ req.flash("error","Already Exists");
res.redirect("/new");}
if(err==null)
{ Model.create(req.body.person,function(err,newPerson){
if(err){console.log("Error");}
else{
newPerson.name=req.user.name;
newPerson.id=req.user._id;
newPerson.save();
res.redirect("/");}
});}
});
});
但是当我使用这个时,即使我输入了已经存在的数据,它仍然会将它添加到数据库中。 我正在使用 express、node js 和 mongodb
【问题讨论】:
-
当
Model.find没有找到文档时,err会被设置吗?这听起来有点违反直觉。你确定这是真的吗? -
我认为这是正确的@mingos
标签: javascript node.js mongodb express