【问题标题】:Node.js: Map function doesn't work on query from PostgreSQLNode.js:地图功能不适用于来自 PostgreSQL 的查询
【发布时间】:2019-05-29 21:24:57
【问题描述】:

我正在使用 Node.js 和 PostgreSQL 创建我的第一个应用程序。

此应用程序连接到数据库并以 JSON 格式将记录返回到浏览器,在我尝试使用 map 函数格式化属性之前,它可以完美地工作。
当我使用地图时,它返回一个错误:

TypeError: rows.map is not a function

这是我的代码。

 app.get('/car/:id', (req, res) => {

    const car_id = req.params.id;
    const queryString = `SELECT * FROM cars WHERE car_id= ${car_id}`;

    client.query(queryString, (err, rows, fields) => {
        if (err) {
            console.log(err.stack);
            res.sendStatus(500);
            res.end();
        } else {
                const car = rows.map((row) => {
                return {"Car_ID": row.car_id}
            });

            res.json(car);
            console.log(rows.rows);
        }
    });

【问题讨论】:

  • 什么是rows?一个字符串?一个对象?

标签: javascript node.js json routes


【解决方案1】:

应该是result.rows 而不仅仅是rows

据此——https://node-postgres.com/api/result

app.get('/car/:id', (req, res) => {

    const car_id = req.params.id;
    const queryString = `SELECT * FROM cars WHERE car_id= ${car_id}`;

    client.query(queryString, (err, result, fields) => {
        if (err) {
            console.log(err.stack);
            res.sendStatus(500);
            res.end();
        } else {
                const car = result.rows.map((row) => {
                return {"Car_ID": row.car_id}
            });

            res.json(car);
            console.log(result.rows);
        }
    });

【讨论】:

  • 感谢您的回答多利安)
猜你喜欢
  • 1970-01-01
  • 2014-01-14
  • 2022-01-26
  • 2021-10-06
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多