我正在设置一个小API,我在我的应用程序的客户端进行了一些数据验证,而我这样做是为了构建我的数据以匹配我的mongoose模式。
我试图这样做......
router.route('/car')
.post(function(req, res) {
var car = new Car();
car = req.body; // line under scrutiny
car.save(function(err) {
if(err) {
console.log(err);
res.status(400);
res.send(err);
}
else {
res.status(200);
res.json({
message: req.body.name + ' successfully registered!'
});
}
});
});
但当然,目前正在删除由mongoose提供的car
的所有模型参数,因此保存方法e.t.c不再起作用。
我尝试过car.data = req.body
但是这需要将我的所有mongoose模式包装到一个data
对象中,这个对象并不优雅。
我想知道是否有任何方法可以避免在没有长手的情况下准备保存car
对象;
car.name = req.body.name;
car.seats = req.body.seats;
car.engine_size = req.body.engine_size;
e.t.c。
我基本上想要相当于car.push(req.body);
,但同样,.push()
方法不适用于猫鼬模型。
答案 0 :(得分:13)
您可以将req.body
传递给Car
这样的
var car = new Car(req.body);