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模型