在POST上创build的返回对象 – express.js

router.route('/vehicles') .post(function (req, res) { var vehicle = new Vehicle(); vehicle.make = req.body.make; vehicle.model = req.body.model; vehicle.color = req.body.color; vehicle.save(function (err) { if (err) { res.send(err); } res.json({message: 'Vehicle was successfully added', make: req.body.make, model: req.body.model, color: req.body.color}); }); }) 

正如你可以看到添加: make: req.body.make, model: req.body.model, color: req.body.color我能够成功地返回发布的对象。

但是,这不是我所需要的,除了返回新创build的对象,我还需要返回新创build的对象的ID。

我怎样才能做到这一点?

你可以像这样缩短整个事情:

 router.route('/vehicles') .post(function (req, res) { var vehicle = new Vehicle(req.body); vehicle.save(function (err) { if (err) { return res.send(err); } vehicle.message = 'Vehicle was successfully added'; res.json(vehicle); }); }); 

我假设你正在使用mongoose,基于您的问题中的其他语法。