[英]Check empty fields on mongoose
I have this function on my node REST API 我在我的节点REST API上有这个功能
var router = express.Router();
/*router.get('/getUsers', function(req, res) {
res.json({ message: 'hooray! welcome to our api!' });
});*/
router.route('/Users')
.get(function(req,res){
User.find(function(err,users){
if(err)
res.send(err);
console.log('GET request');
res.json(users);
});
})
.post(function(req,res){
var user = new User();
user.name = req.body.name;
user.lastName = req.body.lastName;
if(!user.name || !user.lastName){
user.save(function(err){
if(err)
res.send(err);
console.log('POST request');
res.json({message:'Usuario creado'});
});
}else{
res.json({message:'Campos vacíos'});
}
});
It works but when I a send a POST request with empty parameters it saves a document in mongoDB without the name
and lastName
fields and if(!user.name || !user.lastName)
doesn't work to avoid it 它工作,但当我发送一个带有空参数的POST请求时,它会在mongoDB中保存一个文件而没有name
和lastName
字段, if(!user.name || !user.lastName)
不能避免它
Well 好
if (!user.name || !user.lastName) ...
checks that at least one of both must be empty / null
/ undefined
and only then saves it - exactly what you describe as your problem :) 检查两者中的至少一个必须为空/ null
/ undefined
,然后才保存它 - 正是你所描述的问题:)
So I guess you want something like 所以我猜你想要的东西
if(user.name && user.lastName)...
Or alternatively swap the code blocks in if
/ else
branch 或者在if
/ else
分支中交换代码块
if(!user.name || !user.lastName){
res.json({message:'Campos vacíos'});
}else{
user.save(function(err){
if(err)
res.send(err);
console.log('POST request');
res.json({message:'Usuario creado'});
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.