【发布时间】:2016-04-30 05:39:37
【问题描述】:
问题(Mongoose save all parameters from request body) 展示了如何在一行代码中创建带有请求正文的新猫鼬文档对象。
扩展这个问题,我想知道如何一次设置猫鼬文档对象的所有字段。
router.route('/car')
.put(function(req, res, next) {
Car.findById(req.params.id, function (err, car) {
if (err) {
res.status(400).send(err);
} else {
if (!car)
return next(new Error('Failed to load car: ' + req.params.id));
car.name = req.body.name; // Code refactoring required
car.seats = req.body.seats;
car.engine_size = req.body.engine_size;
car.save(function(err) {
if(err)
res.status(400).send(err);
else
res.json(car);
});
}
});
});
在创建文档时var car = new Car(req.body); 是从请求正文中填充字段的完美方法。
对于更新现有的猫鼬文档,有没有比下面几行更好的方法:
car.name = req.body.name;
car.seats = req.body.seats;
car.engine_size = req.body.engine_size;
【问题讨论】:
标签: node.js mongoose express-4