[英]Check empty fields on mongoose
我在我的节点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'});
}
});
它工作,但当我发送一个带有空参数的POST请求时,它会在mongoDB中保存一个文件而没有name
和lastName
字段, if(!user.name || !user.lastName)
不能避免它
好
if (!user.name || !user.lastName) ...
检查两者中的至少一个必须为空/ null
/ undefined
,然后才保存它 - 正是你所描述的问题:)
所以我猜你想要的东西
if(user.name && user.lastName)...
或者在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.