質問 ( Mongoose save all parameters from request body ) は、コード行でリクエスト本文を使用して新しい mongoose ドキュメント オブジェクトを作成する方法を示しています。
この質問を拡張して、マングース文書オブジェクトのすべてのフィールドを一度に設定する方法を知りたいです。
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;