在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,基于您的问题中的其他语法。
- Expressjs路由器基于Content-Type头
- 请求和响应对象在移动到一个函数时变得不确定(nodejs,express)
- 无法使用快速路由和无尾随斜杠来提供静态文件
- 如果模板存在,如何自动处理请求(使用node.js + express)
- 在expresspath中使用socket.io
- 在视图中显示passport.js身份validation错误消息
- 在Mongoose(MongoDB,Node.JS,express)中的对象中创build对象后复制对象
- 在节点js中的特定数据库操作之后使用multer上传文件
- 不活动后自动从simple-ember-auth / oauth2-server注销