gpt4 book ai didi

Node.js:将插入的行从 PostgreSQL v.11 返回到浏览器

转载 作者:行者123 更新时间:2023-12-05 02:12:10 26 4
gpt4 key购买 nike

我刚开始使用 Node.js 和 PostgreSQL。

我正在创建一个带有插入查询的发布请求。
如何同时将插入的值返回给浏览器?

app.post('/car_create', (req, res) => {
const make = req.body.create_make;
const model = req.body.create_model;

client.query(`INSERT INTO cars (make, model) VALUES ($1, $2)`, [make, model], (error, results) => {
if (error) {
throw error
}
res.status(201).send(`Car added with ID: ${results};`);
console.log(res);
res.end();
});
});

如何从响应中检索数据?
我需要以某种方式修改这一行吗?

            res.status(201).send(`Car added with ID: ${results};`);       

最佳答案

首先,您需要在将值插入 PostgreSQL 后返回这些值。为此,请将 RETURNING 子句添加到您的查询中,如下所示:INSERT INTO cars (make, model) VALUES ($1, $2) RETURNING id, make, model。如果您想要更多列,请在 RETURNING 子句中添加更多列。

然后在回调中,results 变量应该包含有关您的查询的信息,包括它返回的内容(在 rows 键中)。您可以通过多种方式将其发送给客户端,但要以与当前类似的方式返回它,您可以这样做:

const {id, make, model} = result.rows[0]; // rows is an array of rows returned, and since we do a single INSERT we only have one row, with the returned columns from the query
res.status(201).send(`Car added with ID ${id}, make "${make}" and model "${model}".`);

如果你想在前端使用这些数据,将数据作为 JSON 发送会更容易和更方便,如下所示:res.status(201).send(results.rows[0]) ;

关于Node.js:将插入的行从 PostgreSQL v.11 返回到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56383674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com