React / Express / Postgres:使用一个api请求处理多个查询

时间:2019-05-25 10:09:11

标签: reactjs postgresql express

我需要在单个API请求中填写多个 postgres 表。每次我在表上插入一行时,我都会检索插入的行的ID,并在下一个查询中对其进行引用。

例如,我可以在执行单个查询时检索插入的行的ID,并将其返回给客户端:

使用此代码,结果返回给客户端,我可以在客户端上找到user_id:

app.post('/api/user/create', (req, res, next) => {
var query = 'INSERT INTO public.user (user_name, password) VALUES (\''
        + req.body.user_name + '\', \''
        + req.body.password + '\' RETURNING id_user);';

pool.query(query, (err, result) => {
  if (err) {
    res.status(200).send("no insertion);
  } 

  res.status(200).json(result.rows);

 })
});

使用此代码,结果不会返回给客户端,并且我无法在客户端上找到user_id:

app.post('/api/user/create', (req, res, next) => {
var query = 'INSERT INTO public.user (user_name, password) VALUES (\''
        + req.body.user_name + '\', \''
        + req.body.password + '\' RETURNING id_user);';

pool.query(query, (err, result) => {
  if (err) {
    res.status(200).send("no insertion);
  } 

  *//Try to inspect  result.rows*

 })
});

当我想在服务器中获取id_user时,结果始终是不确定的。我已尽力而为,结果result.rows对象仍然未定义。 JSON.stringify(),result.rows [0] .id_user,...

我从不访问 id_user 字段的值。

怎么可能?

结论

我没有找到直接在服务器上操纵池查询结果的方法。我花了太多时间在这上面。它在服务器上始终保持 undefined ,但是对客户端的响应具有正确的结果。

因此,我决定在需要此值和其他值时一直进行存储过程。

谢谢您的帮助。

ps:为什么这篇文章被投票为-1?

0 个答案:

没有答案