我正在使用Mongoose编写一个webApp,并在我的JS文件中提供CRUD方法,我得到了这个部分,我在那里验证用户输入的情况,当它“非空”然后将数据发送到数据库。
现在有办法快捷方式下面的代码,因为我有非常庞大的表,有很多“属性”(JSON成员)。
update_MY_collection = function(req, res) {
console.log("PUT - /my_data/:id");
return MY_collection.findById(req.params.id, function(err, my_collection) {
if(!my_collection) {
res.statusCode = 404;
return res.send({ error: 'Not found' });
}
if (req.body.n1 != null) my_collection.item1 = req.body.item1;
if (req.body.n2 != null) my_collection.different_item2 = req.body.different_item2;
if (req.body.n3 != null) my_collection.item3_different = req.body.item3_different;
// .....
if (req.body.n != null) ip_vermarktung.Auftragsnr = req.body.Auftragsnr;
// with n > 30 items
return my_collection.save(function(err) {
if(!err) {
console.log('Updated');
return res.send({ status: 'OK', my_collection:my_collection });
} else {
if(err.name == 'ValidationError') {
res.statusCode = 400;
res.send({ error: 'Validation error' });
} else {
res.statusCode = 500;
res.send({ error: 'Server error' });
}
console.log('Internal error(%d): %s',res.statusCode,err.message);
}
res.send(my_collection);
});
});
};
答案 0 :(得分:0)
使用内置validation
的mongoose。查看the docs。这样,您可以一劳永逸地创建验证方法at schema level并使用它们across the application,同时查看the middleware。