node.js请求post从db.json检索最后一个id

时间:2016-10-14 19:14:19

标签: node.js request json-server

在db.json中发布一条新记录(包含多个数据的事务)后,我希望在继续之前获取新记录的id。怎么做 ?我被困了

我的db.json中有一个"表"自动生成ID的职位

我的要求是

request({
    url: url + '/api/positions,
    method: 'POST',
    form: transaction
}, ????);

我想在我的回调中检索position.id(因为我必须在代码的另一部分中使用它)。

非常感谢

奥利弗

2 个答案:

答案 0 :(得分:0)

确保您的API返回了位置ID,我假设您正在使用express,所以在/ api /位置的响应是res.send({position ...});

编辑,所以你问路由?这是一个很棒的指南:https://expressjs.com/en/guide/routing.html但是Ill会给你一个我的意思的例子。

app.post('/api/positions', function(req, res) { 
  //your logic goes here, so you are sending a 'transaction' object 
  // npm install and use body parser so you can retrieve attributes 
  // from the body of the post
  res.send({position: x}) 
})

答案 1 :(得分:0)

也许有点像这样。

...
var router = jsonServer.router('db.json');
...

// 'router.db.get' will fetch any first level attribute from your db.json
var positions = router.db.get('positions').value();
var lastPosition = positions[positions.length-1];