我们假设你在mongoose中设置了这个架构:
var personSchema = new Schema({
name: String,
address:{
city: String,
postalCode: Number
}
});
你有这篇文章:
// /api/person
exports.newPerson = function(req, res){
var person = JSON.parse(person);
//Validation code here
mognoose.model('person').create(person
res.send(200)
}
检查帖子中是否提供了所有密钥的最佳方法是什么?如果遗漏了任何内容,我希望发出400错误消息,例如:'提供的数据不足,请检查文档。'或类似的东西。
你可以这样做:
if(!person.name || !person.address ..){
res.send(404, {message: 'Not sufficient data'})
return;
}
但这是最好的方法吗?如果你有一个包含30个键的模式怎么办?有没有更好的方法呢?
答案 0 :(得分:0)
你可以试试这个:
var personModel = new mongoose.model('person');
personModel.set(person); // just set temp person object
personModel.save(function (err, saved) {
if (err) {
// your 400 error
return;
}
// saved = person with mongoDb fields seted (_id, __v, ...)
});