Javascript Mongoose保存请求正文中的所有参数
我正在设置一个小API,在应用程序的客户端执行一些数据验证,同时我正在构建数据以匹配mongoose模式 我正试图这么做Javascript Mongoose保存请求正文中的所有参数,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我正在设置一个小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(
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)的等价物
但是,mongoose车型不能使用.push()
方法。您可以像这样将所需车身
传递给您的汽车
var car = new Car(req.body);
这里还有一个参考:
我的问题是:这安全吗?喜欢难道有人不能在
req.body
中包含一个函数save
,然后把整个事情搞乱吗?