mongoose保存请求正文中的所有参数

我设置了一个小API,在应用程序的客户端执行一些数据validation,同时我正在构build我的数据以匹配我的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所有模型参数,所以保存方法等function不再起作用。

我试图car.data = req.body但这需要我所有的mongoose模式被包装成一个不那么优雅的data对象。

我想知道是否有什么办法可以避免准备好car物件,

 car.name = req.body.name; car.seats = req.body.seats; car.engine_size = req.body.engine_size; 

等等

我基本上想要做相当于car.push(req.body); 但同样, .push()方法不适用于mongoose模型。

你可以把req.body传给你的Car

 var car = new Car(req.body); 

这也是一个参考:将模型parameter passing给mongoose模型